example command handler pattern