clean up
optimized mergeSort