quick sort 3 way partitioning
binary search added