generalize
fix merge conflict