forget java, I'm doing this in clojure