split into 2 lists and merge, note corner cases