splitting and merging