add the merge sort algorithm