new challenge
working solution in clojure