                                rows
                                (conj rows []))))
 
-                    (= str-char separator)
+                    separator
                     (if in-quoted-field
                       (recur (+ index 1)
                              :in-field

                             (conj rows []))))

                  :end-field
                  (cond 
                    (= str-char "\"")
                    (recur (+ index 1) :in-field true field-buffer rows)

                    (= str-char separator)
                    (recur (inc index) :end-field in-quoted-field "" (conj-in rows last-row-index ""))

                    :else (recur (+ index 1) :in-field in-quoted-field str-char rows))

                  :end-line
                  (case str-char

                    str-char (str char)]
                (case state
                  :in-field
                  (condp = str-char
                    "\""
                    (if in-quoted-field
                      (if (= (str next-char) "\"")
                        (recur (+ index 2)
