start of porting chan ops to cljs