Implement good-merge