implementing v0.2 of the protocol