new merge sort method