more reorgs
fix comments
start work on dynamic dispatcher
better design for dispatcher, split into two workers