add task register design, protocol