diff --git a/fermi_lattice.json b/fermi_lattice.json
index f6b6ad1dcf33b4a943ecd14748a829c427988917..d4b7be1542fec9b9cc17bb3bb4f25d4cf1df862b 100644
--- a/fermi_lattice.json
+++ b/fermi_lattice.json
@@ -248,8 +248,7 @@
 					{"type": "blm", "position": 24717, "name": "BLM_Q_L01.04"},
 					{"type": "correctorfermi", "position": 25008, "ps": ["PSCH_L01.04","PSCV_L01.04"], "name": "CHV_L01.04"},
 					{"type": "plc", "position": 24717, "name": "SPIN_L01.01", "offset3d": [0, -700, 0], "offset2d": [0, 300], "labelReverse": [90, -250, 250]},
-					{"type": "vlv", "position": 25270, "name": "VLV_BC01.01", "labelReverse": [90, 1000, 130]},
-					{"type": "sip", "position": 25400, "name": "SIP150_BC01.01","offset2d": [30, -40], "labelReverse": [90, -450, 150]},
+					{"type": "vlv", "position": 25350, "name": "VLV_BC01.01", "labelReverse": [90, 1000, 130]},
 					{"type": "L01", "position": 25667, "name": "L01"},
 					{"type": "BC01", "position": 25667, "name": "BC01_01"}
 				]
@@ -263,7 +262,7 @@
 					{"type": "blm", "position": 100, "name": "BLM_B_BC01.01_R"},
 					{"type": "quadrupolefermi", "position": 602, "name": "Q_BC01.01", "labelReverse": [90, 900, 200]},
 					{"type": "blm", "position": 602, "name": "BLM_Q_BC01.01"},
-					{"type": "sip", "position": 902, "name": "SIP150_BC01.02","offset2d": [30, -40], "labelReverse": [90, -450, 200]}
+					{"type": "sip", "position": 902, "name": "SIP150_BC01.01","offset2d": [30, -40], "labelReverse": [90, -450, 200]}
 				]
 			},
 			{
@@ -273,8 +272,8 @@
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_BC01.02_L"},
 					{"type": "blm", "position": 100, "name": "BLM_B_BC01.02_R"},
-					{"type": "SCRPH", "position": 324, "name": "SCRPH_BC01.01"},
-					{"type": "bpm", "position": 475, "name": "BPM_BC01.01", "labelReverse": [90, 1070, 130]},
+					{"type": "SCRPH", "position": 324, "name": "SCRPH_BC01.01", "labelReverse": [90, 1200, 130]},
+					{"type": "bpm", "position": 575, "name": "BPM_BC01.01", "labelReverse": [90, 1070, 130]},
 					{"type": "flsc", "position": 767, "name": "MSCR_BC01.01"}
 				]
 			},
@@ -285,7 +284,7 @@
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_BC01.03_L"},
 					{"type": "blm", "position": 100, "name": "BLM_B_BC01.03_R"},
-					{"type": "sip", "position": 2000, "name": "SIP150_BC01.01","offset2d": [30, -40], "labelReverse": [90, -450, 150]},
+					{"type": "sip", "position": 2000, "name": "SIP150_BC01.02","offset2d": [30, -40], "labelReverse": [90, -450, 150]},
 					{"type": "quadrupolefermi", "position": 2392, "name": "Q_BC01.02"},
 					{"type": "blm", "position": 2392, "name": "BLM_Q_BC01.02"}
 				]
@@ -324,8 +323,9 @@
 					{"type": "blm", "position": 5629, "name": "BLM_Q_BC01.07"},
 					{"type": "correctorfermi", "position": 5939, "ps": ["PSCH_BC01.03","PSCV_BC01.03"], "name": "CHV_BC01.03", "labelReverse": [90, 1140, 200]},
 					{"type": "blm", "position": 5939, "name": "BLM_CHV_BC01.03"},
-					{"type": "GCOL", "position": 6667, "name": "GCOL_BC01.01"},
+					{"type": "GCOL", "position": 6667, "name": "GCOL_BC01.01", "labelReverse": [90, 1210, 200]},
 					{"type": "blm", "position": 6667, "name": "BLM_GCOL_BC01.01"},
+					{"type": "sip", "position": 6667, "name": "SIP300_BC01.01","offset2d": [30, -40], "offset3d": [0, -300, 0], "labelReverse": [90, -450, 150]},
 					{"type": "flsc", "position": 7269, "name": "MSCR_BC01.02", "labelReverse": [90, 1250, 300]},
 					{"type": "blm", "position": 7269, "name": "BLM_MSCR_BC01.02"},
 					{"type": "sip", "position": 10300, "name": "SIP55_BC01.03","offset2d": [30, -40], "labelReverse": [90, -450, 150]},
@@ -373,9 +373,10 @@
 					{"type": "BC01", "position": 850, "name": "BC01_02"},
 					{"type": "bpm", "position": 446, "name": "RTBPM_BC01.05", "labelReverse": [90, -450, 150]},
 					{"type": "blm", "position": 846, "name": "BLM_BPM_BC01.05"},
-					{"type": "GCOL", "position": 1471, "name": "GCOL_BC01.02"},
+					{"type": "GCOL", "position": 1471, "name": "GCOL_BC01.02", "labelReverse": [90, 1010, 250]},
 					{"type": "blm", "position": 1471, "name": "BLM_GCOL_BC01.02"},
-					{"type": "flsc", "position": 1327, "name": "MSCR_BC01.04", "labelReverse": [90, -450, 300]},
+					{"type": "sip", "position": 1471, "name": "SIP300_BC01.02","offset2d": [30, -40], "offset3d": [0, -300, 0], "labelReverse": [90, -450, 150]},
+					{"type": "flsc", "position": 2027, "name": "MSCR_BC01.04", "labelReverse": [90, -450, 300]},
 					{"type": "blm", "position": 2127, "name": "BLM_MSCR_BC01.04"},
 					{"type": "quadrupolefermi", "position": 2442, "name": "Q_BC01.10"},
 					{"type": "blm", "position": 2442, "name": "BLM_Q_BC01.10"},
@@ -477,7 +478,7 @@
 					{"type": "blm", "position": 100, "name": "BLM_B_BC02.02_L"},
 					{"type": "blm", "position": 100, "name": "BLM_B_BC02.02_R"},
 					{"type": "SCRPH", "position": 524, "name": "SCRPH_BC02.01"},
-					{"type": "flsc", "position": 597, "name": "MSCR_BC02.01"}
+					{"type": "flsc", "position": 797, "name": "MSCR_BC02.01"}
 				]
 			},
 			{
@@ -590,14 +591,14 @@
 					{"type": "vlv", "position": 51300, "name": "VLV_TLS.01"},
 					{"type": "correctorfermi", "position": 51495, "ps": ["PSCH_TLS.01","PSCV_TLS.01"], "name": "CHV_TLS.01"},
 					{"type": "blm", "position": 51605, "name": "BLM_CHV_TLS.01"},
-					{"type": "bpm", "position": 52252, "name": "RTBPM_TLS.01", "labelReverse": [90, 1100, 130]},
-					{"type": "flsc", "position": 52495, "name": "MSCR_TLS.01"},
+					{"type": "bpm", "position": 52052, "name": "RTBPM_TLS.01", "labelReverse": [90, 1100, 130]},
+					{"type": "flsc", "position": 51810, "name": "MSCR_TLS.01"},
 					{"type": "blm", "position": 52495, "name": "BLM_MSCR_TLS.01"},
-					{"type": "sip", "position": 52895, "name": "SIP300_TLS.01","offset2d": [30, -40], "labelReverse": [90, -470, 200]},
 					{"type": "GCOL", "position": 52315, "name": "GCOL_TLS.01"},
+					{"type": "sip", "position": 52315, "name": "SIP300_TLS.01","offset2d": [30, -40], "offset3d": [0, -300, 0], "labelReverse": [90, -450, 150]},
 					{"type": "blm", "position": 51315, "name": "BLM_GCOL_TLS.01"},
 					{"type": "sip", "position": 51710, "name": "SIP55_TLS.01","offset2d": [30, -40], "labelReverse": [90, -470, 200]},
-  					{"type": "quadrupolefermi", "position": 51910, "name": "Q_TLS.03"},
+  					{"type": "quadrupolefermi", "position": 52710, "name": "Q_TLS.03"},
 					{"type": "blm", "position": 51910, "name": "BLM_Q_TLS.03"},
 					{"type": "quadrupolefermi", "position": 53210, "name": "Q_TLS.04"},
 					{"type": "blm", "position": 52710, "name": "BLM_Q_TLS.04"},
@@ -672,10 +673,14 @@
 			{
 				"start": {"x": -3112, "z": -5645},
 				"components": [
-					{"type": "sip", "position": 1300, "name": "SIP55_TLS.02","offset2d": [30, -40], "labelReverse": [90, 1000, 130]},
-  					{"type": "correctorfermi", "position": 1899, "ps": ["PSCH_TLS.02","PSCV_TLS.02"], "name": "CHV_TLS.02"},
-					{"type": "blm", "position": 2249, "name": "RTBLM_TLS.02"},
-					{"type": "flsc", "position": 2349, "name": "MSCR_TLS.03"},
+					{"type": "sip", "position": 600, "name": "SIP55_TLS.02","offset2d": [30, -40], "labelReverse": [90, 1000, 130]},
+  					{"type": "correctorfermi", "position": 800, "ps": ["PSCH_TLS.02","PSCV_TLS.02"], "name": "CHV_TLS.02"},
+					{"type": "bpm", "position": 1699, "name": "RTBPM_TLS.02", "labelReverse": [90, 1100, 150]},
+					{"type": "GCOL", "position": 1999, "name": "GCOL_TLS.02"},
+					{"type": "sip", "position": 1999, "name": "SIP300_TLS.02","offset2d": [30, -40], "offset3d": [0, -300, 0], "labelReverse": [125, -250, 150]},
+					{"type": "blm", "position": 2149, "name": "RTBLM_TLS.02"},
+					{"type": "cm", "position": 2349, "name": "CM_TLS.01"},
+					{"type": "flsc", "position": 2549, "name": "MSCR_TLS.03"},
 					{"type": "quadrupolefermi", "position": 2899, "name": "Q_TLS.05"},
 					{"type": "correctorfermi", "position": 3221, "ps": ["PSCH_TLS.03","PSCV_TLS.03"], "name": "CHV_TLS.03"},
 					{"type": "quadrupolefermi", "position": 3599, "name": "Q_TLS.06"},
@@ -698,11 +703,11 @@
 					{"type": "quadrupolefermi", "position": 799, "name": "Q_SCL.02", "labelReverse": [90, 920, 200]},
 					{"type": "blm", "position": 799, "name": "BLM_Q_SCL.02"},
 					{"type": "sip", "position": 1199, "name": "SIP55_SCL.01","offset2d": [30, -40], "labelReverse": [90, 1030, 130]},
-					{"type": "quadrupolefermi", "position": 1749, "name": "Q_SCL.03", "labelReverse": [90, 920, 200]},
-					{"type": "blm", "position": 1749, "name": "BLM_Q_SCL.03"},
-					{"type": "bpm", "position": 2169, "name": "RTBPM_SCL.01", "labelReverse": [90, 1200, 150]},
-					{"type": "sip", "position": 2469, "name": "SIP300_SCL.01","offset2d": [30, -40], "labelReverse": [90, 1150, 150]},
-					{"type": "ECOL", "position": 2644, "name": "ECOL_SCL.01"},
+					{"type": "quadrupolefermi", "position": 1449, "name": "Q_SCL.03", "labelReverse": [90, 920, 200]},
+					{"type": "blm", "position": 1449, "name": "BLM_Q_SCL.03"},
+					{"type": "GCOL", "position": 1849, "name": "ECOL_SCL.01", "labelReverse": [90, 1120, 200]},
+					{"type": "sip", "position": 1849, "name": "SIP300_SCL.01","offset2d": [30, -40], "offset3d": [0, -300, 0], "labelReverse": [90, -450, 150]},
+					{"type": "bpm", "position": 2400, "name": "RTBPM_SCL.01", "labelReverse": [90, 1200, 150]},
 					{"type": "blm", "position": 2644, "name": "BLM_ECOL_SCL.01"},
 					{"type": "quadrupolefermi", "position": 2799, "name": "Q_SCL.04", "labelReverse": [90, 920, 200]},
 					{"type": "blm", "position": 2899, "name": "BLM_Q_SCL.04"},
@@ -767,10 +772,10 @@
 					{"type": "correctorfermi", "position": 1237, "ps": ["PSCH_SFEL01.03","PSCV_SFEL01.03"], "name": "CHV_SFEL01.03", "labelReverse": [90, 1130, 200]},
 					{"type": "quadrupolefermi", "position": 1787, "name": "Q_SFEL01.05", "labelReverse": [90, 1000, 200]},
 					{"type": "blm", "position": 1787, "name": "BLM_Q_SFEL01.05"},
-					{"type": "sip", "position": 2087, "name": "SIP300_SFEL01.01","offset2d": [30, -40], "labelReverse": [90, 1220, 150]},
-					{"type": "bpm", "position": 2456, "name": "RTBPM_SFEL01.03", "labelReverse": [90, 1290, 150]},
-					{"type": "ECOL", "position": 2682, "name": "ECOL_SFEL01.01"},
-					{"type": "sip", "position": 2750, "name": "SIP55_SFEL01.05","offset2d": [30, -40], "labelReverse": [90, 1200, 150]},
+					{"type": "GCOL", "position": 2287, "name": "ECOL_SFEL01.01", "labelReverse": [90, 1210, 400]},
+					{"type": "sip", "position": 2287, "name": "SIP300_SFEL01.01","offset2d": [30, -40], "labelReverse": [90, 1220, 150]},
+					{"type": "bpm", "position": 2756, "name": "RTBPM_SFEL01.03", "labelReverse": [90, 1290, 150]},
+					{"type": "sip", "position": 3050, "name": "SIP55_SFEL01.05","offset2d": [30, -40], "labelReverse": [90, 1200, 150]},
 					{"type": "quadrupolefermi", "position": 3337, "name": "Q_SFEL01.06", "labelReverse": [90, 1050, 200]},
 					{"type": "flsc", "position": 3657, "name": "MSCR_SFEL01.01", "labelReverse": [90, 1250, 200]},
 					{"type": "quadrupolefermi", "position": 4052, "name": "Q_SFEL01.07", "labelReverse": [90, 1050, 200]},
@@ -1026,11 +1031,11 @@
 					{"type": "quadrupolefermi", "position": 1750, "name": "Q_SFEL02.02", "labelReverse": [90, -350, 200]},
 					{"type": "blm", "position": 1750, "name": "BLM_Q_SFEL02.02", "labelReverse": true},
 					{"type": "bpm", "position": 2219, "name": "RTBPM_SFEL02.01", "labelReverse": [90, -350, 150]},
-					{"type": "ECOL", "position": 2645, "name": "ECOL_SFEL02.01", "labelReverse": true},
+					{"type": "GCOL", "position": 2645, "name": "ECOL_SFEL02.01", "labelReverse": [90, -350, 350]},
 					{"type": "sip", "position": 2645, "name": "SIP300_SFEL02.01", "offset2d": [30, -40], "labelReverse": [90, -390, 150], "embedded": ["SIP55_SFEL02.01"]},
 					{"type": "quadrupolefermi", "position": 3300, "name": "Q_SFEL02.03", "labelReverse": [90, -350, 200]},
 					{"type": "blm", "position": 3300, "name": "BLM_Q_SFEL02.03", "labelReverse": true},
-					{"type": "flsc", "position": 3620, "name": "MSCR_SFEL02.01", "labelReverse": [90, -450, 250]},
+					{"type": "flsc", "position": 3620, "name": "MSCR_SFEL02.01", "labelReverse": [90, -370, 250]},
 					{"type": "quadrupolefermi", "position": 4015, "name": "Q_SFEL02.04", "labelReverse": [90, -350, 200]},
 					{"type": "blm", "position": 4015, "name": "BLM_Q_SFEL02.04", "labelReverse": [90, -250, 250]},
 					{"type": "sip", "position": 4285, "name": "SIP55_SFEL02.01", "offset2d": [30, -40], "labelReverse": [90, -390, 150], "embedded": ["SIP55_SFEL02.01"]}
@@ -1078,13 +1083,13 @@
 					{"type": "correctorfermi", "position": 12879, "ps": ["PSCH_FEL02.01","PSCV_FEL02.01"], "name": "CHV_FEL02.01", "labelReverse": [90, -350, 200]},
 					{"type": "sip", "position": 13350, "name": "SIP55_FEL02.02","offset2d": [30, -40], "labelReverse": [90, -390, 150]},
 					{"type": "undulator", "position": 15103, "name": "ID_FEL02.02  (RAD02.01)", "labelReverse": [90, -650, 450]},
-					{"type": "PHSH", "position": 16254, "name": "PHSH_IUFEL02.01", "labelReverse": [90, -350, 120]},
+					{"type": "PHSH", "position": 16254, "name": "PHSH_IUFEL02.01", "offset3d": [-800, 0, 0], "labelReverse": [90, -350, 120]},
 					{"type": "bpm", "position": 16608, "name": "CBPM_IUFEL02.01", "labelReverse": [90, -350, 150]},
 					{"type": "quadrupolefermi", "position": 17019, "name": "Q_IUFEL02.01", "labelReverse": [90, -350, 200]},
 					{"type": "correctorfermi", "position": 17459, "ps": ["PSCH_IUFEL02.01","PSCV_IUFEL02.01"], "name": "CHV_IUFEL02.01", "labelReverse": [90, -350, 200]},
 					{"type": "sip", "position": 17780, "name": "SIP55_IUFEL02.01","offset2d": [30, -40], "labelReverse": [90, -390, 150]},
 					{"type": "undulator", "position": 18818, "name": "ID_FEL02.03  (RAD02.02)", "labelReverse": [90, -650, 450]},
-					{"type": "PHSH", "position": 19969, "name": "PHSH_IUFEL02.02", "labelReverse": [90, -350, 120]},
+					{"type": "PHSH", "position": 19969, "name": "PHSH_IUFEL02.02", "offset3d": [-800, 0, 0], "labelReverse": [90, -350, 120]},
 					{"type": "bpm", "position": 20423, "name": "CBPM_IUFEL02.02", "labelReverse": [90, -350, 150]},
 					{"type": "quadrupolefermi", "position": 20834, "name": "Q_IUFEL02.02", "labelReverse": [90, -350, 200]},
 					{"type": "correctorfermi", "position": 21150, "ps": ["PSCH_IUFEL02.02","PSCV_IUFEL02.02"], "name": "CHV_IUFEL02.02", "labelReverse": [90, -350, 200]},
@@ -1108,7 +1113,7 @@
 				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 320, "name": "B_FEL02.02", "labelReverse": [90, -350, 0]},
 				"chamber": {"type": "chamber"},
 				"components": [
-				{"type": "flsc", "position": 250, "name": "EEHG_FEL2.0", "labelReverse": [90, -350, 250]}
+				{"type": "flsc", "position": 250, "name": "EEHG_FEL2.0", "offset3d": [200, 0, 0], "labelReverse": [90, -350, 250]}
 						
 				]
 			},
@@ -1131,7 +1136,7 @@
 					{"type": "flsc", "position": 1643, "name": "MSCR_FEL02.02", "labelReverse": [90, -350, 250]},
 					{"type": "undulator", "position": 2472, "name": "ID_FEL02.05  (MOD02.02)",  "labelReverse": [90, -650, 450]},
 					{"type": "vlv", "position": 3748, "name": "VLV_FEL02.01", "labelReverse": [90, -350, 150]},
-					{"type": "W", "position": 4200, "name": "W_FEL02.02", "labelReverse": [90, -350, 250]},
+					{"type": "W", "position": 4200, "name": "W_FEL02.02", "labelReverse": [90, -350, 250], "reverse": true},
 					{"type": "bpm", "position": 4873, "name": "CBPM_FEL02.04", "labelReverse": [90, -350, 150]},
 					{"type": "quadrupolefermi", "position": 5184, "name": "Q_FEL02.04", "labelReverse": [90, -350, 200]},
 					{"type": "correctorfermi", "position": 5504, "ps": ["PSCH_FEL02.04","PSCV_FEL02.04"], "name": "CHV_FEL02.04", "labelReverse": [90, -350, 200]},
@@ -2095,7 +2100,7 @@
 				"start": {"x": -157929, "y": 4000, "z": -1811},
 				"components": [
 
-					{"type": "rd", "position": 0, "name": "RD_KG05.01", "embedded": ["SCRPH_BC01.01, EC-CBLM-KG05-01"]},
+					{"type": "rd", "position": 0, "name": "RD_KG05.01", "embedded": ["PSSCRPH_BC01.01, EC-CBLM-KG05-01"]},
 					{"type": "rps", "position": 600, "name": "RPS_KG05.01", "embedded":[
 						"PSCV_BC01.01","PSCH_BC01.01","PSCV_BC01.02","PSCH_BC01.02", "PSCV_BC01.03","PSCH_BC01.03","PSCV_BC01.04","PSCH_BC01.04", "PSCV_BC01.05","PSCH_BC01.05","PSCV_BC01.06","PSCH_BC01.06", "PSTRMCB_BC01.01","PSTRMCB_BC01.02","PSTRMCB_BC01.03","PSTRMCB_BC01.04", "PSQ_BC01.01","PSQ_BC01.02","PSQ_BC01.03","PSQ_BC01.06"
 					]},