major changes because im better at clojure now