the protocol finally works