Base controller and model