 
 		broadcastTimeout = 4000 # Wait for return messages after a node broadcasts that it has a token
 		tokenThreshhold = 1
-		superNodeSwitchThreshhold = 0.8 # Scaler
+		superNodeSwitchThreshhold = 0.75 # Scaler: from 0 to 1. More is easier swtiching
 
 		# Constructs a new app.
 		#

		# @param peer [Peer] the peer that disconnects
		#
		_onPeerDisconnect: ( peer ) =>
			if peer is @getParent()
				candidates = _(@getPeers()).filter( ( p ) -> p.isSuperNode )
				@_pickParent(candidates)

		# @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()

		_triggerStaySuperNodeTimeout: () =>
			if @getChildren().length is 0
