merge sort modified