code: def find_class(self, module, name):
          
          import pickle
  
          modname = self.RENAMETABLE.get(module, module)
  
          try:
              # can't use ``super`` here (not 2/3 compatible)
              klass = pickle.Unpickler.find_class(self, modname, name)
  
          except (ImportError, RuntimeError):
              definition = getattr(source, name)
              newmod = _makemod(modname)
              sys.modules[modname] = newmod
              setattr(newmod, name, definition)
              klass = pickle.Unpickler.find_class(self, newmod.__name__, name)
              klass.__module__ = module
          return klass
docs: This override is here to help pickle find the modules that classes are defined in.
  
          It does three things:
           1) remaps the "PackagedFunction" class from pyccc to the `source.py` module.
           2) Remaps any classes created in the client's '__main__' to the `source.py` module
           3) Creates on-the-fly modules to store any other classes present in source.py
  
          References:
                  This is a modified version of the 2-only recipe from
                  https://wiki.python.org/moin/UsingPickle/RenamingModules.
                  It's been modified for 2/3 cross-compatibility