added merge sort
cleaned up merge sort