def load(self, path=None, ignore_errors=True, block_user_signals=False):
        """
        Loads all the parameters from a databox text file. If path=None,
        loads from self._autosettings_path (provided this is not None).
        
        Parameters
        ----------
        path=None
            Path to load the settings from. If None, will load from the 
            specified autosettings_path.
        ignore_errors=True
            Whether we should raise a stink when a setting doesn't exist.
            When settings do not exist, they are stuffed into the dictionary
            self._lazy_load.
        block_user_signals=False
            If True, the load will not trigger any signals.
        """
        if path==None: 
            
            # Bail if there is no path
            if self._autosettings_path == None: return self
            
            # Get the gui settings directory
            gui_settings_dir = _os.path.join(_cwd, 'egg_settings')

            # Get the final path
            path = _os.path.join(gui_settings_dir, self._autosettings_path)
      
        # make the databox object
        d = _d.databox()

        # only load if it exists
        if _os.path.exists(path): d.load_file(path, header_only=True)
        else:                     return None

        # update the settings
        self.update(d, ignore_errors=ignore_errors, block_user_signals=block_user_signals)
        return self