other clojure solutions from the internal forums