MergeSort implementaiton