added compareTo