First working version of the semver class