Dispatcher refactored