fix isMandatory, isPreferred, isOptional