added merge sort algorithm implementation