         }
         self.lastDrawnConnector = nil
     }
+    
     func removeConstraintView(constraintView: ConstraintView) {
         if let index = find(constraintViews, constraintView) {
             constraintViews.removeAtIndex(index)

    }
    
    var constraintViews: [ConstraintView] = []
    func addConstraintView(constraintView: ConstraintView, firstInputPort: ConnectorPort?, secondInputPort: ConnectorPort?) {
        constraintViews.append(constraintView)
        self.scrollView.addSubview(constraintView)
        constraintView.layer.zPosition = constraintZPosition
        updateScrollableSize()
        
        if let secondInputPort = secondInputPort {
            self.lastDrawnConstraint = (constraintView, secondInputPort)
        } else {
            self.lastDrawnConstraint = nil
        }
        if let firstInputPort = firstInputPort {
            if let lastDrawnConnector = self.lastDrawnConnector {
                constraintView.connectPort(firstInputPort, connector: lastDrawnConnector.connector)

                        let newView = MultiplierView(multiplier: newMultiplier)
                        newView.layoutWithConnectorPositions([:])
                        newView.center = centerPoint
                        let inputs = newView.inputConnectorPorts()
                        let outputs = newView.outputConnectorPorts()
                        if combinedLabels == "x" {
                            self.addConstraintView(newView, firstInputPort: inputs[0], secondInputPort: inputs[1], outputPort: outputs[0])
                        } else if combinedLabels == "/" {
                            self.addConstraintView(newView, firstInputPort: outputs[0], secondInputPort: inputs[0], outputPort: inputs[1])
                        } else {
                            self.addConstraintView(newView, firstInputPort: nil, secondInputPort: nil, outputPort: nil)
                        }
                        recognized = true
                        
