 			endTime = performance.now()
 			@benchmark.cpu = Math.round(endTime - startTime)
 
-		# Look up if node is having trouble 
-		#
-		# @return [Boolean] Return true if node has troubles 
-		#
-		hasDifficulties: ( ) =>
-			if @isSuperNode
-				if @getChildren().length > 3
-					return true
-			return false
-
 		# Generates a new token and gives it to a random child 
 		#
 		# @return [String] Returns id of the selected Child which will receive a token
 		#
-		generateToken: ( ) =>
-			if @hasDifficulties()
-				token = new Token(null, @id)
-				children = @getChildren()
-				randomChild = children[_.random(0,children.length-1)]
-				randomChild.emit("token.add",token.serialize())
-				return randomChild.id
+		generateToken: () =>
+			token = new Token(null, @id)
+			children = @getChildren()
+			randomChild = children[_.random(0,children.length-1)]
+			randomChild.emit("token.add",token.serialize())
+			return randomChild.id
 			
 		# Is called when a node receives a token from another Node
 		#	

		setSuperNode: ( superNode = true ) =>
			@isSuperNode = superNode
			@server.emit('setSuperNode', @isSuperNode)
			@trigger('setSuperNode', @isSuperNode)
			@broadcast('peer.setSuperNode', @id, @isSuperNode)

		# Is called when a peer becomes a supernode

				@_parent = null

			peer.role = Peer.Role.Child
			if @getChildren().length > 2
				@generateToken()

		# Removes a peer as child node. Does not automatically close 
		# the connection but will make it a normal peer.
