added non-bubble quicksort