moved comparison operators to Cmp