introduce the lookup table
add semver check