effective quick sort