added merge-sort algorithm