UPDATE: changed p2p handshake, using interfaces for p2p massages