Peer-to-peer

Work in progress.