add task struct