prepared IUnit generalization