refactoring semver service and version entity