better command definition/routing