 		@session = null
 	
 	touchstart: (event) =>
-		return if event.touches.length > 1
+		return if @session
 		@em.wrap(window).addEventListener("touchmove", @touchmove)
 		@em.wrap(window).addEventListener("touchend", @touchend)
 		

		
		return unless @session 

		# if event.fingers > 1 and not not @session.startMultiEvent
		# 	@session.startMultiEvent = event
		# if event.fingers == 1
		# 	@session.startMultiEvent = null

		# Detect pan events
		if not @session.started.pan and (Math.abs(event.offset.x) > 0 or Math.abs(event.offset.y) > 0)
			@panstart(event)
		else if @session.started.pan
			@pan(event)

		# Detect pinch, rotate and scale events
		if @session.started.pinch and event.fingers == 1
			@pinchend(event)
		else if not @session.started.pinch and event.fingers == 2 
			@pinchstart(event)	
		else if @session.started.pinch
			@pinch(event)
			
		# Detect swipe events
		if not @session.started.swipe and  event.fingers == 1
			if Math.abs(event.offset.x) > 30 or Math.abs(event.offset.y) > 30
				@swipestart(event)
		else if @session.started.swipe
			@swipe(event)
		

		@_process(event)

		for eventName, value of @session.started
			@["#{eventName}end"](event) if value

		@tap(event)
		@tapend(event)
