add RPC function