         touch_start = (event)=>
             event.preventDefault()
             for t in event.targetTouches
-                touch = {}
+                touch = @touch.touch_events[t.identifier] or {}
                 touch.touching = true
                 touch.id = t.identifier
                 touch.client_x = t.clientX

            event.preventDefault()

            for t in event.targetTouches
                touch = {}
                touch.id = t.identifier
                touch.touching = true
                touch.client_x = t.clientX

            event.preventDefault()
            for id,touch of @touch.touch_events
                touch.touching = false
            touch_start(event)
            for id,touch of @touch.touch_events when not touch.touching
                if @touch.first_touch_event == touch
                    @touch.first_touch_event = null
                delete @touch.touch_events[id]
            if @touch.first_touch_event == null and event.targetTouches.length != 0
                @touch.first_touch_event = @touch.touch_events[event.targetTouches.identifier]
            if event.targetTouches.length == 0
                @touch.first_touch_event = null
            @touch.touches = event.targetTouches.length
