discipline offering model, controller and tests