elegant quicksort