use semver module for version validation