added in-place quick sort (the proper one)