Implemented more of the protocol.