update compareTo