sort on comparer