                 throw CassowaryError.internalSolver("Internal solver error")
             }
 
-            _rows[leaving!] = nil
+            rows[leaving!] = nil
             row.solveFor(leaving!, tag.marker)
             substitute(symbol: tag.marker, row: row)
         }
 
-        try optimize(objective: _objective)
+        try optimize(objective: objective)
     }
 
     private func removeConstraintEffects(constraint: Constraint, tag: Tag) {

        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

        var second: Row?
        var third: Row?

        for s in rows.keys {
            let candidateRow = rows[s]!
            let c = candidateRow.coefficientFor(marker)

            if c == 0.0 {
