add  task, add task_type functions