improved comparator