block and requirement controllers and UI