methods with optional parameters can now use SetOpts and Opts