better more functinoal clojure awenser