code: def add_model(self, model):
          
  
          if model.model_type not in self.supported_models:
              raise ValueError('Model type not supported for Aggregate! Apologies')
  
          if not self.model_list:
              self.model_list.append(model)
              if model.model_type in ['EGARCH', 'EGARCHM', 'EGARCHMReg', 'GARCH', 'LMEGARCH', 'LMSEGARCH', 'SEGARCH', 'SEGARCHM']:
                  self.data = np.abs(model.data)
              else:
                  self.data = model.data
              self.index = model.index
          else:
              if model.model_type in ['EGARCH', 'EGARCHM', 'EGARCHMReg', 'GARCH', 'LMEGARCH', 'LMSEGARCH', 'SEGARCH', 'SEGARCHM']:
                  if np.isclose(np.abs(np.abs(model.data[-self.match_window:])-self.data[-self.match_window:]).sum(),0.0) or model.model_type=='GPNARX':
                      self.model_list.append(model)
                  else:
                      raise ValueError('Data entered is deemed different based on %s last values!' % (s))
              else:
                  if np.isclose(np.abs(model.data[-self.match_window:]-self.data[-self.match_window:]).sum(),0.0) or model.model_type=='GPNARX':
                      self.model_list.append(model)
                  else:
                      raise ValueError('Data entered is deemed different based on %s last values!' % (s))
  
          self.model_names = [i.model_name for i in self.model_list]
docs: Adds a PyFlux model to the aggregating algorithm
          
          Parameters
          ----------
          model : pf.[MODEL]
              A PyFlux univariate model
  
          Returns
          ----------
          - Void (changes self.model_list)