a bunch more clojure hooks