Add top-down and bottom up merge, do more investigation with SortCompare