improved versioning system