def METHOD_NAME(self):
    # nand Z to inv A
    z1_pin = self.nand_inst.get_pin("Z")
    a2_pin = self.inv_inst.get_pin("A")
    if self.vertical:
        route_layer = "m2"
        self.add_via_stack_center(offset=z1_pin.center(),
                                  from_layer=z1_pin.layer,
                                  to_layer=route_layer)
        self.add_zjog(route_layer,
                      z1_pin.uc(),
                      a2_pin.bc(),
                      "V")
        self.add_via_stack_center(offset=a2_pin.center(),
                                  from_layer=a2_pin.layer,
                                  to_layer=route_layer)
    else:
        route_layer = self.route_layer
        mid1_point = vector(z1_pin.cx(), a2_pin.cy())
        self.add_path(route_layer,
                      [z1_pin.center(), mid1_point, a2_pin.center()])