with Comparator