refactor RequestDispatcher