code: def add_variables(
          self, variables: Union[List["Variable"], "Variable"], index: int = None
      ) -> None:
          
          if isinstance(variables, Variable):
              addvars = copy.deepcopy([variables])
          else:
              addvars = copy.deepcopy(variables)
  
          if index is None:
              self.variables.extend(addvars)
          else:
              self.variables[index:index] = addvars
docs: Parameters
          ----------
          variable : list of variables or single variable
              Add variables as problem variables
  
          index : int
              Location to add variables, if None add to the end