made more clojure-ish