增加了命令映射，并重构代码