update task, doesn't require binding