 (defn rowStr [lengths values]
   (let
     [paddedValues (map (fn [l v] (padStr v l)) lengths values)]
-    (apply str
-      (interpose columnSeparator paddedValues))))
+    (clojure.string/join columnSeparator paddedValues)))
 
 (defn sum [v]
   (apply + v))
 
 (defn separatorStr [lengths]
   (let [sumLenRows (sum lengths)
-        sumLenSeparators (* (- (.length lengths) 1) (.length columnSeparator))
+        sumLenSeparators (* (dec (.length lengths)) (.length columnSeparator))
         n (+ sumLenRows sumLenSeparators)]
     (clojure.string/join (repeat n "-"))))
 


(defn printParam [printer p]
  (let
    [fmtStr (str "%-" (- (:len p) 1) "s")]
    (print (format fmtStr (:name p)) " | ")))

(defn printSeparator [printer params]

      (conj
        acc
        (columnLength (first headersStrings) resultsStrings ind))
      (inc ind))))

(defn columnLengths [headersStrings, resultsStrings]
  (vec (columnLengthsHelper headersStrings resultsStrings [] 0)))

(defn padStr [s len]
  (if (>= (.length s) len)
