better version check