add GeneralController interface