If we add this, one of the 3 flags will be required (but mutually exclusive) and I think flags should be optionals. No ?