Added the rest of the protocol