     num
     (unchecked-negate num)))
 
-(defn csv-to-matrix
+(defn csv-to-nest-seq
   [path]
-  (map #(seq (clojure.string/split % #", "))
-       (clojure.string/split-lines (slurp path))))
+  (let
+    [data (map #(seq (clojure.string/split % #", "))
+               (clojure.string/split-lines (slurp path)))
+     
+     width (count (first data))
+       
+     output (partition width (map #(let [el (read-string %)]
+                                     (if (number? el)
+                                       el
+                                       %))
+                                  (flatten data)))]
+    output))
 
 (defn nest-seq-to-csv
   [seq path]

      (if (= stop iteration)
        theta
        (recur (inc iteration)
               (matrix-mult x 
                            (transpose (sub y 
                                            (matrix-pmap sigmoid 
                                                        (matrix-mult (transpose theta) 
                                                                     x))))))))))



         :centroids (rvec-seq-sort new-means )
         ;:old-centroids means
         :iterations iterations
         :distance mean-distance
         }
        (recur (inc iterations)
               new-means))))))
