add MagicCommandParser