begin to universalize controller