design and implementation of a peer to peer network for file sharing