various modifications on the protocol