implement base class for future P2P system use