                         } else {
                             self.addConstraintView(newView, firstInputPort: nil, secondInputPort: nil, outputPort: nil)
                         }
-                        recognized = true
                         
                     } else if combinedLabels == "^" {
                         let newExponent = Exponent()

                        
                        self.addConnectorLabel(newLabel, topPriority: true)
                        self.selectConnectorLabelAndSetToValue(newLabel, value: writtenValue)
                        
                        recognized = true
                        
                    } else if combinedLabels == "x" || combinedLabels == "/" {
                        // We recognized a multiply or divide!

    let dragMaxDistance: CGFloat = 10
    
    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        for touch in touches {
            let point = touch.locationInView(self.scrollView)
            
            let touchInfo = TouchInfo(initialPoint: point, initialTime: touch.timestamp)
            
            if let connectorLabel = self.connectorLabelAtPoint(point) {
                touchInfo.connectorLabel = (connectorLabel, connectorLabel.center - point)
                
            } else if let (constraintView, connectorPort) = self.connectorPortAtLocation(point) {
                touchInfo.constraintView = (constraintView, constraintView.center - point, connectorPort)
                
            } else if let constraintView = self.constraintViewAtPoint(point) {
                touchInfo.constraintView = (constraintView, constraintView.center - point, nil)
                
            }
            
            let touchID = FTPenManager.sharedInstance().classifier.idForTouch(touch)
            self.touches[touchID] = touchInfo
            
            if (!usePenClassifications()) {
                // Test for a long press, to trigger a drag
                if (touchInfo.connectorLabel != nil || touchInfo.constraintView != nil) {
                    delay(dragDelayTime) {
                        // If this still hasn't been classified as something else (like a connection draw), then it is a move
                        if touchInfo.classification == nil {
                            if touchInfo.phase == .Began || touchInfo.phase == .Moved {
                                self.changeTouchToClassification(touchInfo, classification: .Drag)
                            }
                        }
                    }
                }
            }
            
            let classification = penClassificationForTouch(touch)
            if classification == nil || classification! != .Palm {
                if let lastStroke = self.unprocessedStrokes.last, lastStrokeLastPoint = lastStroke.points.last {
                    if euclidianDistance(lastStrokeLastPoint, b: point) > 150 {
                        // This was far away from the last stroke, so we process that stroke
                        processStrokes()
                    }
                }
            }
