add hooks and require weasel in core.cljs