implemented gossip3