handling data from peers