support better command handling