add QuickSort
refactoring