Refactoring, add RecursiveMergeSort