add initial version of merge sort