diff --git a/fermi_lattice.json b/fermi_lattice.json
index d580e5958bb4c37908b5670610ce57e23614a8dc..f6b6ad1dcf33b4a943ecd14748a829c427988917 100644
--- a/fermi_lattice.json
+++ b/fermi_lattice.json
@@ -46,7 +46,7 @@
 					{"type": "correctorfermi", "position": 2051, "ps": ["PSCH_INJ.02","PSCV_INJ.02"], "name": "CHV_INJ.02"},
 					{"type": "vlv", "position": 2390, "name": "VLV_L00.01", "labelReverse": [90, 910, 130]},
 					{"type": "sip", "position": 2550, "name": "SIP75_L00.01", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L00.02", "SIP20_L00.01"]},
-					{"type": "cavitylinac2400", "position": 2702, "name": "ACCT_L00.01"},
+					{"type": "cavitylinac", "position": 2702, "length": 1700, "name": "ACCT_L00.01"},
 					{"type": "SOL", "position": 4636, "name": "SOL_L0.01"},
 					{"type": "ACCT", "position": 4221, "name": "ACCT_L00.01"},
 					{"type": "blm", "position": 4221, "name": "BLM_ACCT_L00.01"},
@@ -61,7 +61,7 @@
 					{"type": "sip", "position": 6200, "name": "SIP75_L00.01", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L00.02", "SIP20_L00.03", "SIP20_L00.04"]},
 					{"type": "ACCT0", "position": 5598, "name": "ACCT0_L00.02"},
 					{"type": "SOL", "position": 5906, "name": "SOL_L00.02"},
-					{"type": "cavitylinac2400", "position": 6402, "name": "ACCT_L00.02"},
+					{"type": "cavitylinac", "position": 6402, "length": 1700, "name": "ACCT_L00.02"},
 					{"type": "ACCT", "position": 7491, "name": "ACCT_L00.02"},
 					{"type": "blm", "position": 8100, "name": "BLM_ACCT_L00.02"},
 					{"type": "ACCT0", "position": 9207, "name": "ACCT0_L00.02"},
@@ -102,7 +102,7 @@
 				]
 			},
 			{
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "-PI", "length": 200, "name": "B_SPINJ.01", "labelReverse": [63.5, 900, 0]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "-PI", "length": 200, "name": "B_SPINJ.01", "labelReverse": [63.5, 900, 0]},
 				"start": {"x": -172609, "z": -5811},
 				"components": [
 					{"type": "bpm", "position": 350, "name": "BPM_SPINJ.01", "labelReverse": [90, -350, 100]},
@@ -119,14 +119,14 @@
 			},
 			{
 				"start": {"x": -159733, "z": -5809},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 200, "name": "B_LH.01", "labelReverse": [90, 780, 0]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 200, "name": "B_LH.01", "labelReverse": [90, 780, 0]},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_LH.01"}
 				]
 			},
 			{
 				"start": {"x": -159233, "z": -5782},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 200, "name": "B_LH.02", "labelReverse": [90, 780, 0]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 200, "name": "B_LH.02", "labelReverse": [90, 780, 0]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_LH.02"},
@@ -141,7 +141,7 @@
 			},
 			{
 				"start": {"x": -156205, "z": -5782},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 200, "name": "B_LH.03", "labelReverse": [270, 880, 100]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 200, "name": "B_LH.03", "labelReverse": [270, 880, 100]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_LH.03"}
@@ -149,7 +149,7 @@
 			},
 			{
 				"start": {"x": -155706, "z": -5809},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 200, "name": "B_LH.04", "labelReverse": [270, 880, 100]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 200, "name": "B_LH.04", "labelReverse": [270, 880, 100]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "LS", "position": 100, "name": "LS_CHICANE"},
@@ -164,7 +164,7 @@
 			},
 			{
 				"start": {"x": -153969, "z": -5908},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI/2", "length": 1000, "name": "B_SPLH.01", "labelReverse": [-69, -300, 100]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI/2", "length": 1000, "name": "B_SPLH.01", "labelReverse": [-69, -300, 100]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_SPLH.01_R"},
@@ -202,7 +202,7 @@
 					{"type": "sip", "position": 2300, "name": "SIP300_L01.01", "offset2d": [30, -40], "labelReverse": [90, -350, 150], "embedded": ["SIP75_L01.01", "SIP75_L01.02", "SIP300_L01.02", "SIP300_L01.03"]},
 					{"type": "LH", "position": 2011, "name": "LH_02"},
 					{"type": "L01", "position": 2011, "name": "L01"},
-					{"type": "cavitylinac", "position": 2711, "name": "ACCT_L01.01"},
+					{"type": "cavitylinac", "position": 2611, "length": 3400, "name": "ACCT_L01.01"},
 					{"type": "blm", "position": 2711, "name": "BLM_ACCT_L01.01"},
 					{"type": "ACCT", "position": 4419, "name": "ACCT_L01.01"},
 					{"type": "ACCT", "position": 6807, "name": "ACCT_L01.01"},
@@ -212,7 +212,7 @@
 					{"type": "blm", "position": 7023, "name": "BLM_Q_L01.01"},
 					{"type": "correctorfermi", "position": 7414, "ps": ["PSCH_L01.01","PSCV_L01.01"], "name": "CHV_L01.01"},
 					{"type": "sip", "position": 7755, "name": "SIP300_L01.03", "offset2d": [30, -40], "labelReverse": [90, -450, 150]},
-					{"type": "cavitylinac", "position": 8005, "name": "ACCT_L01.02"},
+					{"type": "cavitylinac", "position": 7905, "length": 3400, "name": "ACCT_L01.02"},
 					{"type": "blm", "position": 8005, "name": "BLM_ACCT_L01.02"},
 					{"type": "ACCT", "position": 10015, "name": "ACCT_L01.02"},
 					{"type": "ACCT", "position": 12803, "name": "ACCT_L01.02"},
@@ -226,7 +226,7 @@
 					{"type": "bpm", "position": 13317, "name": "RTBPM_L01.03"},
 					{"type": "vlv", "position": 13700, "name": "VLV_L01.02", "labelReverse": [90, 920, 130]},
 					{"type": "sip", "position": 13960, "name": "SIP300_L01.05", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L01.05", "SIP75_L01.06", "SIP300_L01.06"]},
-					{"type": "cavitylinac", "position": 14225, "name": "ACCT_L01.03"},
+					{"type": "cavitylinac", "position": 14225, "length": 3400,"name": "ACCT_L01.03"},
 					{"type": "blm", "position": 14225, "name": "BLM_ACCT_L01.03"},
 					{"type": "ACCT", "position": 16511, "name": "ACCT_L01.04"},
 					{"type": "blm", "position": 16511, "name": "BLM_ACCT_L01.04"},
@@ -239,7 +239,7 @@
 					{"type": "plc", "position": 19036, "name": "SPMO_INL03.01", "offset3d": [0, -700, 0], "offset2d": [0, 300], "labelReverse": [90, -250, 250]},
 					{"type": "correctorfermi", "position": 19676, "ps": ["PSCH_L01.03","PSCV_L01.03"], "name": "CHV_L01.03"},
 					{"type": "sip", "position": 19996, "name": "SIP300_L01.07", "offset2d": [30, -40], "labelReverse": [90, -450, 150]},
-					{"type": "cavitylinac", "position": 20396, "name": "ACCT_L01.04"},
+					{"type": "cavitylinac", "position": 20196, "length": 3400, "name": "ACCT_L01.04"},
 					{"type": "ACCT", "position": 22106, "name": "ACCT_L01.04"},
 					{"type": "ACCT", "position": 24494, "name": "ACCT_L01.04"},
 					{"type": "sip", "position": 24100, "name": "SIP300_L01.08", "offset2d": [30, -40], "labelReverse": [90, -450, 150]},
@@ -256,7 +256,7 @@
 			},
 			{
 				"start": {"x": -128103, "z": -5815},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI/2", "length": 400, "name": "B_BC01.01", "labelReverse": [270, 900, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI/2", "length": 400, "name": "B_BC01.01", "labelReverse": [270, 900, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_BC01.01_L"},
@@ -268,7 +268,7 @@
 			},
 			{
 				"start": {"x": -125125, "z": -6060},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI/2", "length": 400, "name": "B_BC01.02", "labelReverse": [90, 890, 10]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI/2", "length": 400, "name": "B_BC01.02", "labelReverse": [90, 890, 10]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_BC01.02_L"},
@@ -280,7 +280,7 @@
 			},
 			{
 				"start": {"x": -123631, "z": -6060},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 400, "name": "B_BC01.03", "labelReverse": [90, 890, 10]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 400, "name": "B_BC01.03", "labelReverse": [90, 890, 10]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_BC01.03_L"},
@@ -292,7 +292,7 @@
 			},
 			{
 				"start": {"x": -120647, "z": -5815},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI/2", "length": 400, "name": "B_BC01.04", "labelReverse": [270, 920, 10]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI/2", "length": 400, "name": "B_BC01.04", "labelReverse": [270, 920, 10]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_BC01.04_L"},
@@ -344,7 +344,7 @@
 			},
 			{
 				"start": {"x": -105230, "z": -5828},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI/2", "length": 320, "name": "B_SPBC01.01", "labelReverse": [-72, -300, 100]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI/2", "length": 320, "name": "B_SPBC01.01", "labelReverse": [-72, -300, 100]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "bpm", "position": 589, "name": "BPM_SPBC01.01"},
@@ -387,7 +387,7 @@
 					{"type": "sip", "position": 3910, "name": "SIP300_L02.01", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L02.01", "SIP75_L02.03", "SIP300_L02.02"]},
 					{"type": "BC01", "position": 3910, "name": "BC01_02"},
 					{"type": "L02", "position": 3910, "name": "L02"},
-					{"type": "cavitylinac", "position": 4110, "name": "ACCT_L02.01"},
+					{"type": "cavitylinac", "position": 4110, "length": 3400, "name": "ACCT_L02.01"},
 					{"type": "blm", "position": 4110, "name": "BLM_ACCT_L02.01"},
 					{"type": "ACCT", "position": 6320, "name": "ACCT_L02.01"},
 					{"type": "ACCT", "position": 8708, "name": "ACCT_L02.01"},
@@ -397,7 +397,7 @@
 					{"type": "blm", "position": 8953, "name": "BLM_Q_L02.01"},
 					{"type": "correctorfermi", "position": 8993, "ps": ["PSCH_L02.01","PSCV_L02.01"], "name": "CHV_L02.01"},
 					{"type": "sip", "position": 9393, "name": "SIP300_L02.04", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L02.03", "SIP75_L02.04"]},
-					{"type": "cavitylinac", "position": 9606, "name": "ACCT_L02.02"},
+					{"type": "cavitylinac", "position": 9606, "length": 3400, "name": "ACCT_L02.02"},
 					{"type": "blm", "position": 9606, "name": "BLM_ACCT_L02.02"},
 					{"type": "ACCT", "position": 11916, "name": "ACCT_L02.02"},
 					{"type": "ACCT", "position": 14304, "name": "ACCT_L02.02"},
@@ -409,7 +409,7 @@
 					{"type": "correctorfermi", "position": 14429, "ps": ["PSCH_L02.02","PSCV_L02.02"], "name": "CHV_L02.02"},
 					{"type": "vlv", "position": 14800, "name": "VLV_L02.02", "labelReverse": [90, 940, 150]},
 					{"type": "sip", "position": 15050, "name": "SIP300_L02.05", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L02.05", "SIP75_L02.06", "SIP300_L02.06"]},
-					{"type": "cavitylinac", "position": 15302, "name": "ACCT_L02.03", "length": 200},
+					{"type": "cavitylinac", "position": 15302, "length": 3400, "name": "ACCT_L02.03"},
 					{"type": "blm", "position": 15102, "name": "BLM_ACCT_L02.03", "labelReverse": [90, 1080, 130]},
 					{"type": "ACCT", "position": 17512, "name": "ACCT_L02.03"},
 					{"type": "ACCT", "position": 19900, "name": "ACCT_L02.03"},
@@ -431,7 +431,7 @@
 					{"type": "sip", "position": 26100, "name": "SIP300_L03.01","offset2d": [30, -40], "labelReverse": [90, -450, 150]},
 					{"type": "L02", "position": 25700, "name": "L02"},
 					{"type": "L03", "position": 25700, "name": "L03"},
-					{"type": "cavitylinac", "position": 26300, "name": "ACCBT_L03.01"},
+					{"type": "cavitylinac", "position": 26300, "length": 3400, "name": "ACCBT_L03.01"},
 					{"type": "ACCBT", "position": 27931, "name": "ACCBT_L03.01"},
 					{"type": "ACCBT", "position": 31133, "name": "ACCBT_L03.01"},
 					{"type": "sip", "position": 30300, "name": "SIP300_L03.02","offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L03.02", "SIP75_L03.3", "SIP75_L03.4"]},
@@ -440,7 +440,7 @@
 					{"type": "blm", "position": 31071, "name": "BLM_Q_L03.01"},
 					{"type": "correctorfermi", "position": 31595, "ps": ["PSCH_L03.01","PSCV_L03.01"], "name": "CHV_L03.01"},
 					{"type": "sip", "position": 31895, "name": "SIP300_L03.03","offset2d": [30, -40], "labelReverse": [90, -450, 150]},
-					{"type": "cavitylinac", "position": 32159, "name": "ACCBT_L03.02"},
+					{"type": "cavitylinac", "position": 32159, "length": 3400, "name": "ACCBT_L03.02"},
 					{"type": "blm", "position": 31933, "name": "BLM_ACCBT_L03.02"},
 					{"type": "ACCBT", "position": 35164, "name": "ACCBT_L03.02"},
 					{"type": "ACCBT", "position": 38365, "name": "ACCBT_L03.02"},
@@ -459,7 +459,7 @@
 			
 			{
 				"start": {"x": -65603, "z": -5811},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 400, "name": "B_BC02.01", "labelReverse": [90, 890, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 400, "name": "B_BC02.01", "labelReverse": [90, 890, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_BC02.01_L"},
@@ -471,7 +471,7 @@
 			},
 			{
 				"start": {"x": -62626, "z": -5811},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 400, "name": "B_BC02.02", "labelReverse": [90, 890, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 400, "name": "B_BC02.02", "labelReverse": [90, 890, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_BC02.02_L"},
@@ -482,7 +482,7 @@
 			},
 			{
 				"start": {"x": -61131, "z": -5811},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 400, "name": "B_BC02.03", "labelReverse": [90, 890, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 400, "name": "B_BC02.03", "labelReverse": [90, 890, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_BC02.03_L"},
@@ -494,7 +494,7 @@
 			},
 			{
 				"start": {"x": -58148, "z": -5811},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 400, "name": "B_BC02.04", "labelReverse": [90, 890, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 400, "name": "B_BC02.04", "labelReverse": [90, 890, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_BC02.04_L"},
@@ -511,7 +511,7 @@
 					{"type": "sip", "position": 1847, "name": "SIP300_L04.01", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP300_L04.02"]},
 					{"type": "BC02", "position": 1817, "name": "BC02"},
 					{"type": "L04", "position": 1817, "name": "L04"},
-					{"type": "cavitylinac", "position": 1997, "name": "ACCBT_L04.01"},
+					{"type": "cavitylinac", "position": 1997, "length": 3400, "name": "ACCBT_L04.01"},
 					{"type": "ACCBT", "position": 5048, "name": "ACCBT_L04.01"},
 					{"type": "ACCBT", "position": 8250, "name": "ACCBT_L04.01"},
 					{"type": "sip", "position": 5900, "name": "SIP300_L04.02", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L04.01", "SIP75_L04.02", "SIP75_L04.03", "SIP75_L04.04"]},
@@ -521,7 +521,7 @@
 					{"type": "flsc", "position": 8112, "name": "MSCR_L04.01"},
 					{"type": "correctorfermi", "position": 8612, "ps": ["PSCH_L04.01","PSCV_L04.01"], "name": "CHV_L04.01"},
 					{"type": "sip", "position": 9100, "name": "SIP300_L04.03", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP300_L04.04"]},
-					{"type": "cavitylinac", "position": 9250, "name": "ACCBT_L04.02"},
+					{"type": "cavitylinac", "position": 9250, "length": 3400, "name": "ACCBT_L04.02"},
 					{"type": "ACCBT", "position": 12281, "name": "ACCBT_L04.02"},
 					{"type": "ACCBT", "position": 15482, "name": "ACCBT_L04.02"},
 					{"type": "sip", "position": 13062, "name": "SIP300_L04.04", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L04.05", "SIP75_L04.06", "SIP75_L04.07", "SIP75_L04.08"]},
@@ -531,7 +531,7 @@
 					{"type": "correctorfermi", "position": 15507, "ps": ["PSCH_L04.02","PSCV_L04.02"], "name": "CHV_L04.02"},
 					{"type": "vlv", "position": 16000, "name": "VLV_L04.02"},
 					{"type": "sip", "position": 16350, "name": "SIP300_L04.05", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP300_L04.06"]},
-					{"type": "cavitylinac", "position": 16582, "name": "ACCBT_L04.03"},
+					{"type": "cavitylinac", "position": 16582, "length": 3400, "name": "ACCBT_L04.03"},
 					{"type": "ACCBT", "position": 19513, "name": "ACCBT_L04.03"},
 					{"type": "ACCBT", "position": 22715, "name": "ACCBT_L04.03"},
 					{"type": "sip", "position": 20400, "name": "SIP300_L04.06", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L04.09", "SIP75_L04.10", "SIP75_L04.11", "SIP75_L04.12"]},
@@ -540,7 +540,7 @@
 					{"type": "blm", "position": 21945, "name": "BLM_Q_L04.03"},
 					{"type": "correctorfermi", "position": 22740, "ps": ["PSCH_L04.03","PSCV_L04.03"], "name": "CHV_L04.03"},
 					{"type": "sip", "position": 23440, "name": "SIP300_L04.07", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP300_L04.08"]},
-					{"type": "cavitylinac", "position": 23615, "name": "ACCBT_L04.04"},
+					{"type": "cavitylinac", "position": 23615, "length": 3400, "name": "ACCBT_L04.04"},
 					{"type": "ACCBT", "position": 26746, "name": "ACCBT_L04.04"},
 					{"type": "ACCBT", "position": 29947, "name": "ACCBT_L04.04"},
 					{"type": "sip", "position": 27600, "name": "SIP300_L04.08", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L04.13", "SIP75_L04.14", "SIP75_L04.15", "SIP75_L04.16"]},
@@ -551,7 +551,7 @@
 					{"type": "correctorfermi", "position": 29812, "ps": ["PSCH_L04.04","PSCV_L04.04"], "name": "CHV_L04.04"},
 					{"type": "vlv", "position": 30400, "name": "VLV_L04.03"},
 					{"type": "sip", "position": 30800, "name": "SIP300_L04.09","offset2d": [30, -40], "labelReverse": [90, -450, 150]},
-					{"type": "cavitylinac", "position": 30947, "name": "ACCBT_L04.05"},
+					{"type": "cavitylinac", "position": 30947, "length": 3400, "name": "ACCBT_L04.05"},
 					{"type": "ACCBT", "position": 33978, "name": "ACCBT_L04.05"},
 					{"type": "ACCBT", "position": 37180, "name": "ACCBT_L04.05"},
 					{"type": "sip", "position": 34800, "name": "SIP75_L04.17", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L04.18", "SIP75_L04.19", "SIP75_L04.20"]},
@@ -561,7 +561,7 @@
 					{"type": "correctorfermi", "position": 37305, "ps": ["PSCH_L04.05","PSCV_L04.05"], "name": "CHV_L04.05"},
 					{"type": "blm", "position": 37305, "name": "BLM_CHV_L04.05"},
 					{"type": "sip", "position": 38100, "name": "SIP75_L04.25", "offset2d": [30, -40], "labelReverse": [90, -450, 150], "embedded": ["SIP75_L04.22", "SIP75_L04.23", "SIP75_L04.24", "SIP75_L04.25", "SIP55_L04.01", "SIP55_L04.02", "SIP75_L04.26", "SIP55_L04.03", "SIP55_L04.04"]},
-					{"type": "cavitylinac", "position": 38290, "name": "ACCBT_L04.06"},
+					{"type": "cavitylinac", "position": 38290, "length": 3400, "name": "ACCBT_L04.06"},
 					{"type": "ACCT", "position": 39660, "name": "ACCT_L04.06"},
 					{"type": "bpm", "position": 42160, "name": "RTBPM_L04.06", "labelReverse": [90, 1100, 130]},
 					{"type": "blm", "position": 42417, "name": "BLM_CHV_L04.06"},
@@ -576,7 +576,7 @@
 					{"type": "correctorfermi", "position": 45828, "ps": ["PSCH_L04.07","PSCV_L04.07"], "name": "CHV_L04.07"},
 					{"type": "blm", "position": 45828, "name": "BLM_CHV_L04.07"},
 					{"type": "sip", "position": 46128, "name": "SIP75_L04.27","offset2d": [30, -40], "labelReverse": [90, -450, 150]},
-					{"type": "cavitylinac", "position": 46328, "name": "ACCBT_L04.07"},
+					{"type": "cavitylinac", "position": 46328, "length": 3400, "name": "ACCBT_L04.07"},
 					{"type": "DCAV", "position": 47430, "name": "DCAV_L04.01"},
 					{"type": "blm", "position": 47430, "name": "BLM_DCAV_L04.01"},
 					{"type": "L04", "position": 49680, "name": "L04"},
@@ -690,7 +690,7 @@
 			},
 			{
 				"start": {"x": 7140, "z": -5645},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI/2", "length": 250, "name": "B_SCL.01", "labelReverse": [270, 920, 10]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI/2", "length": 250, "name": "B_SCL.01", "labelReverse": [270, 920, 10]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_SCL.01"},
@@ -715,7 +715,7 @@
 			},
 			{
 				"start": {"x": 11440, "z": -6064},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "-PI", "length": 250, "name": "B_SCL.02", "labelReverse": [270, 900, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "-PI", "length": 250, "name": "B_SCL.02", "labelReverse": [270, 900, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_SCL.02"},
@@ -747,8 +747,8 @@
 					{"type": "sip", "position": 11215, "name": "SIP55_SFEL01.03","offset2d": [30, -40], "labelReverse": [90, 1100, 150]},
 					{"type": "quadrupolefermi", "position": 12815, "name": "Q_SFEL01.03", "labelReverse": [90, 1020, 200]},
 					{"type": "blm", "position": 12815, "name": "BLM_Q_SFEL01.03"},
-					{"type": "plc", "position": 12815, "name": "SPIN-UH.02", "offset3d": [0, -300, 0], "offset2d": [0, 300], "labelReverse": [185,50,80]},
-					{"type": "plc", "position": 13215, "name": "SP_SLU_UH.03", "offset3d": [0, -300, 0], "offset2d": [0, 300], "labelReverse": [185,1200,30]},
+					{"type": "plc", "position": 12815, "name": "SPIN-UH.02", "offset3d": [0, -700, 0], "offset2d": [0, 300], "labelReverse": [185,50,80]},
+					{"type": "plc", "position": 13215, "name": "SP_SLU_UH.03", "offset3d": [0, -700, 0], "offset2d": [0, 300], "labelReverse": [185,1200,30]},
 					{"type": "correctorfermi", "position": 13215, "ps": ["PSCH_SFEL01.02","PSCV_SFEL01.02"], "name": "CHV_SFEL01.02", "labelReverse": [90, 1150, 200]},
 					{"type": "sip", "position": 13615, "name": "SIP55_SFEL01.04","offset2d": [30, -40], "labelReverse": [90, 1180, 150]}
 					
@@ -756,13 +756,13 @@
 			},
 			{
 				"start": {"x": 25655, "z": -7555},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "-PI", "length": 250, "name": "B_SFEL01.01", "labelReverse": [90, 1000, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "-PI", "length": 250, "name": "B_SFEL01.01", "labelReverse": [90, 1000, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_SFEL01.01"},
 					{"type": "bpm", "position": 457, "name": "RTBPM_SFEL01.02", "labelReverse": [90, 1290, 150]},
 					{"type": "quadrupolefermi", "position": 837, "name": "Q_SFEL01.04", "labelReverse": [90, 1000, 200]},
-					{"type": "plc", "position": 837, "name": "SP_LSU_EOS.02", "offset3d": [0, -300, 0], "offset2d": [0, 300], "labelReverse": [180,1400,10]},
+					{"type": "plc", "position": 837, "name": "SP_LSU_EOS.02", "offset3d": [0, -700, 0], "offset2d": [0, 300], "labelReverse": [180,1400,10]},
 					{"type": "blm", "position": 837, "name": "BLM_Q_SFEL01.04"},
 					{"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]},
@@ -779,10 +779,10 @@
 			},
 			{
 				"start": {"x": 30485, "z": -7808},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "-PI", "length": 250, "name": "B_SFEL01.02", "labelReverse": [90, 1050, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "-PI", "length": 250, "name": "B_SFEL01.02", "labelReverse": [90, 1050, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
-					{"type": "plc", "position": 0, "name": "SPIN-UH.03", "offset3d": [0, -300, 0], "offset2d": [-200, 350], "labelReverse": [180,1050,80]},
+					{"type": "plc", "position": 0, "name": "SPIN-UH.03", "offset3d": [0, -700, 0], "offset2d": [-200, 350], "labelReverse": [180,1050,80]},
 					{"type": "blm", "position": 100, "name": "BLM_B_SFEL01.02"},
 					{"type": "correctorfermi", "position": 800, "ps": ["PSCH_SFEL01.04","PSCV_SFEL01.04"], "name": "CHV_SFEL01.04", "labelReverse": [90, 1200, 200]},
 					{"type": "blm", "position": 800, "name": "BLM_CHV_SFEL01.04"},
@@ -819,14 +819,14 @@
 			},
 			{
 				"start": {"x": 43690, "z": -7809},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "-PI/2", "length": 413, "name": "B_EEHG_FEL01.01", "labelReverse": [90, 1400, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "-PI/2", "length": 413, "name": "B_EEHG_FEL01.01", "labelReverse": [90, 1400, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
 				]
 			},
 			{
 				"start": {"x": 45099, "z": -7809},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 412, "name": "B_EEHG_FEL01.02", "labelReverse": [90, 1400, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 412, "name": "B_EEHG_FEL01.02", "labelReverse": [90, 1400, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "flsc", "position": 370, "name": "MSCR_EEHG_FEL01.01", "labelReverse": [90, 1650, 250], "offset2d": [-220, 0]}
@@ -834,14 +834,14 @@
 			},
 			{
 				"start": {"x": 45779, "z": -7809},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 412, "name": "B_EEHG_FEL01.03", "labelReverse": [90, 1400, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 412, "name": "B_EEHG_FEL01.03", "labelReverse": [90, 1400, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
 				]
 			},
 			{
 				"start": {"x": 47188, "z": -7809},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 412, "name": "B_EEHG_FEL01.04", "labelReverse": [90, 1400, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 412, "name": "B_EEHG_FEL01.04", "labelReverse": [90, 1400, 50]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "bpm", "position": 424, "name": "CBPM_FEL01.02", "labelReverse": [90, 1300, 130]},
@@ -926,12 +926,12 @@
 					{"type": "blm", "position": 40296, "name": "BLM_Q_MBD_FEL01.04_R"},
 					{"type": "sip", "position": 42396, "name": "SIP55_MBD_FEL01.06","offset2d": [30, -40], "labelReverse": [90, 1310, 150]},
      				{"type": "sip", "position": 45000, "name": "SIP55_MBDFEL01.07","offset2d": [30, -40], "labelReverse": [90, 1310, 150]},
-     				{"type": "plc", "position": 45296, "name": "SPIN-FE.01", "offset3d": [0, -300, 0], "offset2d": [0, -200]}
+     				{"type": "plc", "position": 45296, "name": "SPIN-FE.01", "offset3d": [0, -700, 0], "offset2d": [0, -200]}
 				]
 			},
 			{
 				"start": {"x": 88710, "z": -7809},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 1122, "name": "B_MBD_FEL01.01"},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 1122, "name": "B_MBD_FEL01.01"},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_MBD_FEL01.01_L"},
@@ -970,7 +970,7 @@
 					{"type": "blm", "position": 2589, "name": "BLM_Q_MBD.02_R"},
 					{"type": "sip", "position": 2940, "name": "SIP150_MBD.01","offset2d": [30, -40], "labelReverse": [90, 1050, 150]},
      				{"type": "quadrupolefermi", "position": 3191, "name": "Q_MBD.03"},
-					{"type": "plc", "position": 3191, "name": "SPIN-UH.06", "offset3d": [0, -300, 0], "offset2d": [-200, 350], "labelReverse": [90, -250, 200]},
+					{"type": "plc", "position": 3191, "name": "SPIN-UH.06", "offset3d": [0, -700, 0], "offset2d": [-200, 350], "labelReverse": [90, -250, 200]},
 					{"type": "blm", "position": 3191, "name": "BLM_Q_MBD.03_L"},
 					{"type": "blm", "position": 3191, "name": "BLM_Q_MBD.03_R"},
 					{"type": "bpm", "position": 3460, "name": "RTBPM_MBD.03"},
@@ -1018,7 +1018,7 @@
 			},
 			{
 				"start": {"x": 16179, "z": -6559},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "-PI/2", "length": 250, "name": "B_SFEL02.01", "labelReverse": [90, 1050, 50]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "-PI/2", "length": 250, "name": "B_SFEL02.01", "labelReverse": [90, 1050, 50]},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_SFEL02.01", "labelReverse": true},
 					{"type": "quadrupolefermi", "position": 800, "name": "Q_SFEL02.01", "labelReverse": [90, -350, 200]},
@@ -1039,7 +1039,7 @@
 			},
 			{
 				"start": {"x": 20972, "z": -6810},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "-PI", "length": 250, "name": "B_SFEL02.02", "labelReverse": [90, -380, 0]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "-PI", "length": 250, "name": "B_SFEL02.02", "labelReverse": [90, -380, 0]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_SFEL02.02", "labelReverse": [90, -250, 250]},
@@ -1098,14 +1098,14 @@
 			},
 			{
 				"start": {"x": 45868, "z": -6811},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "-PI/2", "length": 320, "name": "B_FEL02.01", "labelReverse": [90, -350, 0]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "-PI/2", "length": 320, "name": "B_FEL02.01", "labelReverse": [90, -350, 0]},
 				"chamber": {"type": "chamber"},
 				"components": [
 				]
 			},
 			{
 				"start": {"x": 46328, "z": -6811},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 320, "name": "B_FEL02.02", "labelReverse": [90, -350, 0]},
+				"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]}
@@ -1114,14 +1114,14 @@
 			},
 			{
 				"start": {"x": 47188, "z": -6811},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 320, "name": "B_FEL02.03", "labelReverse": [90, -350, 0]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 320, "name": "B_FEL02.03", "labelReverse": [90, -350, 0]},
 				"chamber": {"type": "chamber"},
 				"components": [
 				]
 			},
 			{
 				"start": {"x": 47648, "z": -6811},
-				"bending": {"type": "dipolefermi", "label": "show", "rotateY": "PI", "length": 320, "name": "B_FEL02.04", "labelReverse": [90, -350, 0]},
+				"bending": {"type": "bending", "label": "show", "rotateY": "PI", "length": 320, "name": "B_FEL02.04", "labelReverse": [90, -350, 0]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "bpm", "position": 556, "name": "CBPM_FEL02.03", "labelReverse": [90, -350, 150]},
@@ -1219,7 +1219,7 @@
 			},
 			{
 				"start": {"x": 92100, "z": -6811},
-				"bending": {"type": "dipolefermi", "label": "show", "length": 1122, "name": "B_MBD_FEL02.01", "labelReverse": [90, 1250, 0]},
+				"bending": {"type": "bending", "label": "show", "length": 1122, "name": "B_MBD_FEL02.01", "labelReverse": [90, 1250, 0]},
 				"chamber": {"type": "chamber"},
 				"components": [
 					{"type": "blm", "position": 100, "name": "BLM_B_MBD_FEL02.01_L"},