simplifying the dispatcher and service; logging