merge_sort a little ugly