- use CommandArg as a object, not an array