implemented PeerManager