ported latest changes to cljs