refactor merge-collections