added transitive compareTo: