semi-merge