add rpc interface