code: def load_progress(self, resume_step):
          
          resume_step = Status[resume_step]
          progress_path = self.get_restore_path(resume_step)
  
          # If progress is corrupted, revert to step before
          while not self.check_for_session(resume_step):
              config.LOGGER.error("Ricecooker has not reached {0} status. Reverting to earlier step...".format(resume_step.name))
              # All files are corrupted or absent, restart process
              if resume_step.value - 1 < 0:
                  self.init_session()
                  return self
              resume_step = Status(resume_step.value - 1)
              progress_path = self.get_restore_path(resume_step)
          config.LOGGER.error("Starting from status {0}".format(resume_step.name))
  
          # Load manager
          with open(progress_path, 'rb') as handle:
              manager = pickle.load(handle)
              if isinstance(manager, RestoreManager):
                  return manager
              else:
                  return self
docs: load_progress: loads progress from restoration file
              Args: resume_step (str): step at which to resume session
              Returns: manager with progress from step