revisions made to model after ros_controllers examples