code: def insert(self, point, number, axis):
          
  
          def build_tuple_list(source_list, point, number, axis):
              """Returns adjusted tuple list for single cells"""
  
              target_list = []
  
              for tl in source_list:
                  tl_list = list(tl)
                  if tl[axis] > point:
                      tl_list[axis] += number
                  target_list.append(tuple(tl_list))
  
              return target_list
  
          self.block_tl = build_tuple_list(self.block_tl, point, number, axis)
  
          self.block_br = build_tuple_list(self.block_br, point, number, axis)
  
          if axis == 0:
              self.rows = \
                  [row + number if row > point else row for row in self.rows]
          elif axis == 1:
              self.cols = \
                  [col + number if col > point else col for col in self.cols]
          else:
              raise ValueError("Axis not in [0, 1]")
  
          self.cells = build_tuple_list(self.cells, point, number, axis)
docs: Inserts number of rows/cols/tabs into selection at point on axis
          Parameters
          ----------
  
          point: Integer
          \tAt this point the rows/cols are inserted or deleted
          number: Integer
          \tNumber of rows/cols to be inserted, negative number deletes
          axis: Integer in 0, 1
          \tDefines whether rows or cols are affected