updated MergeSort