working without dumb dispatcher
more dispatcher cleanup