modify the protocol