quicksort-ish