allow different object for Controller