improoved versioning control