modified to clojure 1.4