Refactor Versioning