mergeSort