Modified an initial implementation of the protocol.