google closure!
actually writing cljs instead of clj...