implmente add user protocol