more idiomatic clojure