                         continue rowLoop
                     case "\n":
                         let cellBuffer = UnsafeBufferPointer<UInt8>(
-                            start: buf.baseAddress! + cellStart,
+                            start: buffer.baseAddress! + cellStart,
                             count: i - cellStart)
                         cellArray.append(.raw(cellBuffer))
                         offset = i + 1

                offset += 1
                continue rowLoop
            case "\r":
                if Unicode.Scalar(buf[offset + 1]) == "\n" {
                    offset += 2
                    return true
                } else {

        cellArray.reserveCapacity(metadata.columns.count)
        if metadata.hasHeaderRow {
            parsedValidRow = try parseRow(
                offset: &offset, cellArray: &cellArray, row: 0)
            cellArray.removeAll(keepingCapacity: true)
        }
        var rowCount = 0
        while true {
            parsedValidRow = try parseRow(
                offset: &offset,
                cellArray: &cellArray,
                row: rowCount)
