fixes
diff --git a/common/fix_missing_lef.py b/common/fix_missing_lef.py
index 9ed30e5..5b16849 100644
--- a/common/fix_missing_lef.py
+++ b/common/fix_missing_lef.py
@@ -1,10 +1,8 @@
 #!/usr/bin/env python3
 
-import re
-import os
-import sys
+from os import path
 import argparse
-
+import subprocess
 
 parser = argparse.ArgumentParser(
     description='This file fixes the missing')
@@ -28,54 +26,46 @@
 
 if modify_vnb_vpb:
     for lib in libraries:
-        modify_vpb_result_cmd = "sed -i 's/PIN VPB/PIN VPB\nDIRECTION INOUT ;\nUSE POWER ;/g' {lef} ".format(
-            lef= skywater_path+"/libraries/"+lib+"/*/cells/*/*.magic.lef"
+        modify_vpb_result_cmd = "sed -i 's/PIN VPB/PIN VPB\\nDIRECTION INOUT ;\\nUSE POWER ;/g' {lef} ".format(
+            lef= skywater_path+"/"+lib+"/*/cells/*/*.magic.lef"
             )
-        subprocess.check_output(modify_vpb_result_cmd.split())
-
-        modify_vnb_result_cmd = "sed -i 's/PIN VNB/PIN VNB\nDIRECTION INOUT ;\nUSE GROUND ;/g' {lef} ".format(
-            lef= skywater_path+"/libraries/"+lib+"/*/cells/*/*.magic.lef"
+        print(modify_vpb_result_cmd)
+        #subprocess.call(modify_vpb_result_cmd.split(""))
+        subprocess.call([modify_vpb_result_cmd], shell=True)
+        modify_vnb_result_cmd = "sed -i 's/PIN VNB/PIN VNB\\nDIRECTION INOUT ;\\nUSE GROUND ;/g' {lef} ".format(
+            lef= skywater_path+"/"+lib+"/*/cells/*/*.magic.lef"
             )
-        subprocess.check_output(modify_vnb_result_cmd.split())
+        #subprocess.call(modify_vnb_result_cmd.split())
+        print(modify_vnb_result_cmd)
+        subprocess.call([modify_vnb_result_cmd], shell=True)
 
 if modify_hs_ms_diodes:
-    hs_lef =  skywater_path+"/libraries/sky130_fd_sc_hs/latest/cells/diode/sky130_fd_sc_hs__diode_2.magic.lef"
+    hs_lef =  str(skywater_path)+"/sky130_fd_sc_hs/latest/cells/diode/sky130_fd_sc_hs__diode_2.magic.lef"
     
     hs_lef_FileOpener = open(hs_lef, "r")
-    if(path.exists(hs_lef_FileOpener)):
+    if(path.exists(hs_lef)):
         if hs_lef_FileOpener.mode == 'r':
             hs_lef_Content = hs_lef_FileOpener.read()
         hs_lef_FileOpener.close()
-        sections = hs_lef_Content.split("MACRO sky130_fd_sc_hs__diode_2")
-        sections.append(sections[1].split("END sky130_fd_sc_hs__diode_2")[1])
-        sections.append(sections[1].split("END sky130_fd_sc_hs__diode_2")[0])
-        # now sections[1] contains diode info;
-        sections[1] = sections[1].replace("CLASS BLOCK","CLASS CORE ANTENNACELL")
-        sections[1] = "\nSYMMETRY X Y ;\nSITE unit ;\n"+sections[1]
-        sections[1] = sections[1].replace("PIN DIODE","PIN DIODE\nDIRECTION INPUT ;\nUSE SIGNAL ;\n")
-        combined = "MACRO sky130_fd_sc_hs__diode_2".join(sections[0:1])
-        combined = combined+"END sky130_fd_sc_hs__diode_2"+ sections[2]
+        hs_lef_Content = hs_lef_Content.replace("CLASS BLOCK","CLASS CORE ANTENNACELL")
+        hs_lef_Content = hs_lef_Content.replace("MACRO sky130_fd_sc_hs__diode_2","MACRO sky130_fd_sc_hs__diode_2\nSYMMETRY X Y ;\nSITE unit ;\n")
+        hs_lef_Content = hs_lef_Content.replace("PIN DIODE","PIN DIODE\nDIRECTION INPUT ;\nUSE SIGNAL ;\n")
         hs_lef_FileOpener = open(hs_lef,"w")
-        hs_lef_FileOpener.write(combined)
+        hs_lef_FileOpener.write(hs_lef_Content)
         hs_lef_FileOpener.close()
 
 
-    ms_lef =  skywater_path+"/libraries/sky130_fd_sc_ms/latest/cells/diode/sky130_fd_sc_ms__diode_2.magic.lef"
+    ms_lef =  str(skywater_path)+"/sky130_fd_sc_ms/latest/cells/diode/sky130_fd_sc_ms__diode_2.magic.lef"
     
     ms_lef_FileOpener = open(ms_lef, "r")
-    if(path.exists(ms_lef_FileOpener)):
+    if(path.exists(ms_lef)):
         if ms_lef_FileOpener.mode == 'r':
             ms_lef_Content = ms_lef_FileOpener.read()
         ms_lef_FileOpener.close()
-        sections = ms_lef_Content.split("MACRO sky130_fd_sc_ms__diode_2")
-        sections.append(sections[1].split("END sky130_fd_sc_ms__diode_2")[1])
-        sections.append(sections[1].split("END sky130_fd_sc_ms__diode_2")[0])
         # now sections[1] contains diode info;
-        sections[1] = sections[1].replace("CLASS BLOCK","CLASS CORE ANTENNACELL")
-        sections[1] = "\nSYMMETRY X Y ;\nSITE unit ;\n"+sections[1]
-        sections[1] = sections[1].replace("PIN DIODE","PIN DIODE\nDIRECTION INPUT ;\nUSE SIGNAL ;\n")
-        combined = "MACRO sky130_fd_sc_ms__diode_2".join(sections[0:1])
-        combined = combined+"END sky130_fd_sc_ms__diode_2"+ sections[2]
+        ms_lef_Content = ms_lef_Content.replace("CLASS BLOCK","CLASS CORE ANTENNACELL")
+        ms_lef_Content = ms_lef_Content.replace("MACRO sky130_fd_sc_ms__diode_2","MACRO sky130_fd_sc_ms__diode_2\nSYMMETRY X Y ;\nSITE unit ;\n")
+        ms_lef_Content = ms_lef_Content.replace("PIN DIODE","PIN DIODE\nDIRECTION INPUT ;\nUSE SIGNAL ;\n")
         ms_lef_FileOpener = open(ms_lef,"w")
-        ms_lef_FileOpener.write(combined)
+        ms_lef_FileOpener.write(ms_lef_Content)
         ms_lef_FileOpener.close()
diff --git a/sky130/Makefile.in b/sky130/Makefile.in
index b6745bb..82237d0 100644
--- a/sky130/Makefile.in
+++ b/sky130/Makefile.in
@@ -358,7 +358,7 @@
 
 vendor-a:
 	# Modify the LEF files to update hs and ms libraries
-	python3 ../common/foundry_install.py --modify_hs_ms_diodes --modify_vnb_vpb --skywater_path ${SKYWATER_PATH}
+	python3 ../common/fix_missing_lef.py --modify_hs_ms_diodes --modify_vnb_vpb --skywater_path ${SKYWATER_PATH}
 	# Install device subcircuits from vendor files
 	${STAGE} -source ${SKYWATER_PATH} -target ${STAGING_PATH}/${SKY130A} \
 		-ngspice sky130_fd_pr/latest/models/* \