clojure batch framework