First implementation split-merge approach