first attempt of CommandManager