generalize if plug