add IController interface