better version comparing