My clojure implementation