def METHOD_NAME(self):
    # adjust to the variables you want in the local scope
    t = self.thickness
    ws = 25
    lx, ly, lh = 12.4, 23.5, max(self.length, ws+6+t)
    self.ctx.save()
    # Legs
    c1 = edges.CompoundEdge(self, "FE", (ly-7.0, 7.0))
    c2 = edges.CompoundEdge(self, "EF", (7.0, lh-7.0))
    e = [c1, c2, "F", "F"]
    for i in range(2):
        # front
        self.rectangularWall(lx, lh-7., [LegEdge(self, None), "f", "F", "f"], callback=[None, lambda:self.fingerHolesAt(ws-7., 0, lx)], move="right")
        # back
        self.rectangularWall(lx, lh, "FfFf", callback=[
            lambda:self.hole(lx/2, 7, self.anklebolt2/2)], move="right")
        # sides
        self.rectangularWall(ly, lh, e, callback=[None,
            lambda:self.fingerHolesAt(ws, 7.0, ly-7.0-3.0)], move="right")
        self.rectangularWall(ly, lh, e, callback=[
            lambda:self.rectangularHole(ly/2, ws+3+0.5*t, 12, 6, 3),
            lambda:self.fingerHolesAt(ws, 7.0, ly-7.0-3.0)], move="right")
    # top
    self.partsMatrix(2, 1, "right", self.rectangularWall, ly, lx, "ffff",
                     callback=[None, lambda: self.hole(lx/2, ly/2, 2.3)])
    self.partsMatrix(2, 1, "right", self.rectangularWall, lx, ly, "eeee", callback=[lambda: self.hole(lx/2, ly/2, 1.5)])
    # hold servo at the front
    self.partsMatrix(2, 1, "right", self.rectangularWall, 4.6, lx, "efee")
    # bottom
    self.partsMatrix(2, 1, "right", self.rectangularWall, lx, ly-7.0, "efff")
    # hold servo inside
    self.partsMatrix(2, 1, "right", self.rectangularWall, lx, ly-7.0-3.0, "efef")
    self.ctx.restore()
    self.rectangularWall(lx, lh, "ffff", move="up only")
    # feet
    self.foot(60, 40, ly, 30, move="right")
    self.foot(60, 40, ly, 30, move="right")
    self.ankles(30, 25, callback=[None, self.ankle1], move="right")
    self.ankles(30, 25, callback=[None, self.ankle2], move="right")
    self.partsMatrix(2, 2, "right", self.servoring)