first case
completed merge sort