add rpc protocol