implemented versionManager