added task model, controller, and outputs