added protocol for adding task