merge sort updated