func (d *Discoverer) onInterestingNode(node tracker.Node) {
	d.m.Lock()
	defer d.m.Unlock()
	meta, _ := node.Meta()
	uuid := node.UUID()
	d.logger.Println("Found interesting node", string(uuid))
	if p, s := d.nodeSeen(uuid); s {
		p.Send(&messages.HelloOk{})
		d.logger.Println("Node is already known")
		return
	}

	p, err := peer.New(uuid, node.Addr.String(), meta.Adport, d.incoming, d.cfg)
	if err != nil {
		d.logger.Println("ERROR: ", err)
	}
	p.InitConnection()

	if !d.cfg.Exporting() {
		p.Check()
	}

	d.connectedPeers.JoinFuture(p.Connected())
	d.seenNodes[p.UUID()] = p

}