diff --git a/src/bundles/pdb/src/__init__.py b/src/bundles/pdb/src/__init__.py
index af759f8..7a83083 100644
--- a/src/bundles/pdb/src/__init__.py
+++ b/src/bundles/pdb/src/__init__.py
@@ -17,6 +17,16 @@ from .pdb import process_chem_name, format_nonstd_res_info
 
 from chimerax.core.toolshed import BundleAPI
 
+def _fetch_wrapper_dummy(fetch_func):
+    def fetch(session, pdb_id, fetch_source='rcsb', ignore_cache=False,
+            structure_factors=False, over_sampling=1.5, **kw):
+        if structure_factors:
+            from chimerax.core.errors import UserError
+            raise UserError('Loading structure factors requires the ChimeraX-Clipper plugin '
+                'available from the Tool Shed.')
+        return fetch_func(session, pdb_id, ignore_cache=ignore_cache, **kw)
+    return fetch
+
 class _PDBioAPI(BundleAPI):
 
     from chimerax.core.commands import EnumOf
@@ -29,13 +39,24 @@ class _PDBioAPI(BundleAPI):
         # returns (list of models, status message)
         from . import pdb
         fetcher = pdb.fetch_pdb_pdbe if database_name == "pdbe" else pdb.fetch_pdb
-        return fetcher(session, identifier, ignore_cache=ignore_cache, **kw)
+        try:
+            from chimerax.clipper.io import fetch_cif
+            return fetch_cif.fetch_wrapper(fetcher)(session, identifier, ignore_cache=ignore_cache, **kw)
+        except ImportError:
+            return _fetch_wrapper_dummy(fetcher)(session, identifier, ignore_cache=ignore_cache, **kw)
+
+        # return fetcher(session, identifier, ignore_cache=ignore_cache, **kw)
 
     @staticmethod
     def open_file(session, stream, file_name, *, auto_style=True, coordsets=False, atomic=True,
-             max_models=None, log_info=True, combine_sym_atoms=True):
+             max_models=None, log_info=True, combine_sym_atoms=True,
+             structure_factors=False, over_sampling=None):
         # 'open_file' is called by session code to open a file
         # returns (list of models, status message)
+        if structure_factors or over_sampling:
+            from chimerax.core.errors import UserError
+            raise UserError('structureFactors and overSampling arguments are only '
+                'valid when fetching models from an online database.')
         from . import pdb
         return pdb.open_pdb(session, stream, file_name, auto_style=auto_style,
             coordsets=coordsets, atomic=atomic, max_models=max_models, log_info=log_info,
