   ([db-config table-name row-id lock initial-value]
    (map->Duratom {:lock lock
                   :init initial-value
-                  :make-async-backend (partial storage/->PGSQLBackend
-                                               db-config
-                                               (if (ut/table-exists? db-config table-name)
-                                                 table-name
-                                                 (do (ut/create-dedicated-table! db-config table-name)
-                                                     table-name))
-                                               row-id)
+                  :make-backend (partial storage/->PGSQLBackend
+                                         db-config
+                                         (if (ut/table-exists? db-config table-name)
+                                           table-name
+                                           (do (ut/create-dedicated-table! db-config table-name)
+                                               table-name))
+                                         row-id)
                   })))
 
 (defn s3-atom

              (some? init) (doto (reset! init)))))) ;; empty storage means we start off with <initial-value>

(defn- map->Duratom [m]
  (let [[make-async-backend lock initial-value] ((juxt :make-async-backend :lock :init) m)]
    (->Duratom make-async-backend lock initial-value)))


;;==================<PUBLIC API>==========================

  )

;; override default `print-method` for records in order to hide certain fields,
;; but also to provide printing which resembles atoms
(defmethod print-method Duratom [dura ^Writer w]
  (.write w "#")
  (.write w (-> dura class .getName))
