added setAsOptionalArg