Base controller and UI