How version control system works