rename MainController to BaseController