recursive-merge