refactor & update cljs