 
             rowptr.solveFor(art, entering)
             substitute(symbol: entering, row: rowptr)
-            _rows[entering] = rowptr
+            rows[entering] = rowptr
         }
 
         // Remove the artificial variable from the tableau.
-        for rowEntry in _rows.orderedEntries {
+        for rowEntry in rows.orderedEntries {
             rowEntry.value.remove(symbol: art)
         }
 
-        _objective.remove(symbol: art)
+        objective.remove(symbol: art)
 
         return success
     }

        var ratio = Double.greatestFiniteMagnitude
        var row: Row?

        for key in _rows.keys {
            if key.symbolType != .external {
                let candidateRow = _rows[key]!
                let temp = candidateRow.coefficientFor(entering)
                if temp < 0 {
                    let tempRatio = -candidateRow.constant / temp

            print(error)
        }

        variableEditInfo[variable] = nil
    }
    
    /// Checks if the solver has an edit constraint for the provided variable.
    public func hasEditVariable(_ variable: Variable) -> Bool {
        return variableEditInfo[variable] != nil
    }
    
    /**
