 						) ( peer )
 			)
 
-		# Change a SuperNode state of a node
-		#
-		# @param superNode [boolean] SuperNode state
-		#
-		setSuperNode: ( superNode = true ) =>
-			if superNode is not @isSuperNode
-				if not superNode and @getSiblings().length is 0
-					return
-				@server.emit('setSuperNode', superNode)
-				@trigger('setSuperNode', superNode) # App is listening
-				@broadcast('peer.setSuperNode', @id, superNode)
-				@isSuperNode = superNode
-				if superNode
-					@_triggerStaySuperNodeTimeout()
-				else
-					for sibling in @getSiblings()
-						@removeSibling(sibling)
-					@_pickParent()
-
 		# Triggers a timeout for _superNodeTimeout  method. If a timeout is not cleared from somewhere else
 		# _superNodeTimeout method will be called
 		#

			randomChild = children[_.random(0,children.length-1)]
			randomChild.emit('token.add',token.serialize())
			console.log  randomChild.id +  ' received a token'
			
		# Is called when a node receives a token from another Node
		#	
		# @param peer [Peer] The last routing peer
		# @param tokenString [String] A serialized token
		#
		_onTokenReceived: ( peer, tokenString ) =>
			@token = Token.deserialize(tokenString)
			@removeToken(@token)
			@token.nodeId = @id

			@broadcast('token.hop', @token.serialize(), @coordinates.serialize(), true)
			@_tokenRestTimeout = setTimeout(( ) =>
				@_calculateTokenMagnitude()
			, @broadcastTimeout)
			@timers.push(@_tokenRestTimeout)

			# Is called when a token hops. Sends a token information to the initiator
		#
		# @param peer [Peer] The last routing peer
		# @param tokenString [String] A serialized token
		# @param vectorString [String] Serialized coordinates of the holder of the token
		#
		_onTokenInfo: ( peer, tokenString, vectorString, instantiate = true ) =>
			token = Token.deserialize(tokenString)
			console.log "Received info about token ", token
			token.coordinates = Vector.deserialize(vectorString)
			@addToken(token)
			if @token? and instantiate
				@emitTo(token.nodeId, 'token.info', @token.serialize(), @coordinates.serialize(), false)

		# Adds a token to the collection of foreign tokens
		#

			else
				@server.send(message)

		# Applies Vivaldi algorithm. Calculates the coordinates of a node
		#
		_updateCoordinates: ( ) =>
