refactored the Dispatcher