correct compareTo