add generalization