from scretch again, 1-thread merge sort