distributed versioning