refactor CommandInterpreter module