     // RECEIVING A POTATO -> PAYLOAD
     fileprivate var pendingPotatoHotPotatoMessage: PotatoHotPotatoMessage? // if not nil, then the next received data is the potato's data payload
     
-    // all peers in this network must use the same name and version to connect and start
+    // all peers in this network must use the same name and version to connect and start. timeout is the amount of time the potato must be seen within, until it is considered a disconnect
     required public init(networkName: String, dataVersion: Date, timeout: TimeInterval? = 15.0) {
         self.networkName = networkName
         self.dataVersion = DateFormatter.ISO8601DateFormatter().string(from: dataVersion)

    // MARK: STARTING
    // MARK:
    
    open func startNetwork() {
        let connectedPeersCount = bluepeer!.connectedPeers().count
        if connectedPeersCount == 0 {
            self.logDelegate?.logString("Aborting startButton - no connected peers")
            return
        }
        
        self.logDelegate?.logString("Sending initial start message, \(connectedPeersCount) connected peers")

        self.startHotPotatoMessageID = messageID
        let startHotPotatoMessage = StartHotPotatoMessage(remoteDevices: connectedPeersCount, dataVersion: self.dataVersion, ID: messageID, livePeerNames: nil)
        sendHotPotatoMessage(message: startHotPotatoMessage, replyBlock: nil)
        return true
    }
    
    fileprivate func handleStartHotPotatoMessage(startHotPotatoMessage: StartHotPotatoMessage, peer: BPPeer) {
