use less(b, a) for greater(a, b)