simplifying dispatcher & routing