basic merge sort draft