add rpc client/server and test case