add write dsl in clojure