new version based on Clojure 1.5