slightly more detail on the protocol