properly compare Version objects