               (throw e)))))
       (records [this]
         (try
-          (let [res (v4/form-data headers-fn instance @survey formId)]
-            (adapter (format "%s-%s-%s" instance surveyId formId) 4 :rows res))
+          (let [data (v4/form-data headers-fn instance @survey formId)]
+              (adapter {:version 4
+                      :rows-cols :rows
+                      :instance instance
+                      :survey-id surveyId
+                      :form-id formId} data))
           (catch Throwable e
             (if-let [ex-d (ex-data e)]
               (throw (ex-info (or (:cause e) (str "Null cause from instance: " instance))

              (throw e)))))
      (records [this]
        (try
          (let [res (cond
                      (<= version 2) (v2/form-data headers-fn @survey formId)
                      (<= version 3) (v3/form-data headers-fn instance @survey formId))]
            (adapter (format "%s-%s-%s" instance surveyId formId) 3 :rows res))
          (catch Throwable e
            (if-let [ex-d (ex-data e)]
              (throw (ex-info (or (:cause e) (str "Null cause from instance: " instance))

                                                         :groupName groupName
                                                         :key false
                                                         :hidden true}))
                data (apply conj columns new-columns)]
            (adapter {:version 4
                      :rows-cols :cols
                      :instance instance
                      :survey-id surveyId
                      :form-id formId} data))
          (catch Throwable e
            (if-let [ex-d (ex-data e)]
              (do
