split and merge