various adjs
generalize flat dispatch
more adjs