added a merge sort