 			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

			startTime: Date.now()
			pressTimer: window.setTimeout(@longpressstart, 250)
			started: {}

		event = @_getGestureEvent(event)


	_dispatchEvent: (type, event, target) ->
		touchEvent = @_createEvent(type, event)
		target ?= event.target
		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