and common rpc server and interface that can go throught different transfer layer like websocket or http or tcp