generate work controller and model