         textStorage.addLayoutManager(layoutManager)
         layoutManager.addTextContainer(textContainer)
         textContainer.lineFragmentPadding = 0
-        
-        let touchRecognizer = UILongPressGestureRecognizer(target: self, action: "onTouch:")
-        touchRecognizer.minimumPressDuration = 0.00001
-        touchRecognizer.delegate = self
-        addGestureRecognizer(touchRecognizer)
-        
         userInteractionEnabled = true
     }
     

        return nil
    }
    
}

extension ActiveLabel: UIGestureRecognizerDelegate {

    }
    
    // MARK: - touch events
    func onTouch(touch: UITouch) -> Bool {
        let location = touch.locationInView(self)
        var avoidSuperCall = false
        
        switch touch.phase {
        case .Began, .Moved:
            if let element = elementAtLocation(location) {
                if element.range.location != selectedElement?.range.location || element.range.length != selectedElement?.range.length {
                    updateAttributesWhenSelected(false)
                    selectedElement = element
                    updateAttributesWhenSelected(true)
                }
                avoidSuperCall = true
            } else {
                updateAttributesWhenSelected(false)
                selectedElement = nil
            }
        case .Cancelled, .Ended:
            guard let selectedElement = selectedElement else { return avoidSuperCall }
            
            switch selectedElement.element {
            case .Mention(let userHandle): mentionTapHandler?(userHandle)
