updated task model