move Peer implementation to separate file
1.10.0