updated RPC to provide a separate client ('proxy') and server