implemented gossip