 			i = 0
 			for peer in @getPeers()
 				( ( peer ) =>
-					peer.ping( ( latency, position ) =>
+					peer.ping( ( latency, position, tokenString ) =>
 						peer.position = Vector.deserialize(position)
+						if tokenString?
+							token = Token.deserialize(tokenString)
+							@addToken(token)
 						i++
 						if i is @getPeers().length
 							@_computePosition()

		#
		addChild: ( peer ) ->
			if peer is @_parent
				console.log "joost is een naus"
				@removeParent()

			if @getSibling(peer)?


			console.log "best candidate is #{closestCandidate}, distance is #{closestDistance}"
			if closestCandidate? and closestCandidate isnt @id
				@emitTo(closestCandidate, 'token.receive', @token.serialize())

				if @isSuperNode
					@setSuperNode(false)
				else
					@token = null

			else
				@token.candidates = []
