theory scratch
quicksort