new quicksort functions