prepare for generalization