try to simplify VersionUtil