hiding rpcprotocolclient from API