a * diverse sorter,