added version control, later it will determine what updates need to be downloaded from the server