docs: def _save(self):
          """Save the model to a .csv file
          """
          # if not first time saving, copy .csv to a backup
          if os.path.isfile(self._full_filename):
              shutil.copyfile(self._full_filename, self._full_backup_filename)
  
          # write to csv
          with open(self._full_filename, 'w') as file:
              writer = csv.DictWriter(file, fieldnames=self._headers)
              writer.writeheader()
              for row in self._table:
                  writer.writerow(row)