We need a generalization here.