better version checking