implement part of Dispatcher