 	_dispatchEvent: (type, event, target) ->
 		touchEvent = @_createEvent(type, event)
 		target ?= event.target
-		target.dispatchEvent(touchEvent)+		target.dispatchEvent(touchEvent)
+
+	_getVelocity: (events) ->
+
+		return {x:0, y:0} if events.length < 2
+
+		current = events[events.length - 1]
+		first   = events[0]
+		time    = current.time - first.time
+
+		velocity =
+			x: (current.point.x - first.point.x) / time
+			y: (current.point.y - first.point.y) / time
+
+		velocity.x = 0 if velocity.x is Infinity
+		velocity.y = 0 if velocity.y is Infinity
+
+		return velocity
			startTime: Date.now()
			pressTimer: window.setTimeout(@longpressstart, 250)
			started: {}

		event = @_getGestureEvent(event)


			else
				event.delta = Utils.pointSubtract(event.touchCenter, @session.lastEvent.touchCenter)

		if @session?.events
			events = _.filter @session.events, (e) -> e.time > (event.time - 100)
			event.velocity = @_getVelocity(events)

		if event.touches.length > 0
			
			event.angle = 0
