all specs passing in clj and cljs (had to disable some features in cljs)