any resource can be optional