go through the protocol