def METHOD_NAME(self):
     #print(f'working on cell {self._name}')
    for i in self._instances:
        if i._modu:
            if not i._modu._added:
                i._modu.METHOD_NAME()
            bbox = i._modu._cell.get_bounding_box()
            angle, refl = 0, False
            oX, oY = i._tr._oX/args.scale, i._tr._oY/args.scale
            if i._tr._sX < 0:
                angle = 180
                refl = (i._tr._sY > 0)
            else:
                refl = (i._tr._sY < 0)
            print(f'{self._name} creating reference of {i._name} at {(oX,oY)} {refl} {angle})')
            ref = gdspy.CellReference(i._modu._cell, (oX, oY), x_reflection = refl, rotation = angle)
            if not self._cell:
                self._cell = gdspy.Cell(self._name)
            self._cell.METHOD_NAME(ref)
    self._added = True