added a quicksort implementation