introducing merge sort