implemented the ClientTransport and the ServerTransport