diff --git a/CBM/Display.yolol b/CBM/Display.yolol
deleted file mode 100644
index a75f1ca..0000000
--- a/CBM/Display.yolol
+++ /dev/null
@@ -1,4 +0,0 @@
-om=" CBM :o\n" bm=om+" Booting " :o=bm t=1000
-mx="\nX: " my="\nY: " mz="\nZ: "
-:o=om+mx+:x/t*t+my+:y/t*t+mz+:z/t*t goto3
-// Chipwait = IPS_Q4
\ No newline at end of file
diff --git a/CBM/IPS_1.yolol b/CBM/IPS_1.yolol
deleted file mode 100644
index de82fcc..0000000
--- a/CBM/IPS_1.yolol
+++ /dev/null
@@ -1,8 +0,0 @@
-op="origin_" nt=op+"north" st=op+"south" et=op+"east" wt=op+"west"
-:AT=nt :BT=st :CT=et :DT=wt t=1000 m=t*t
-:p=m-:d :p*=:p :q=m-:a :q*=:q :r=m-:c :r*=:r :s=m-:b :s*=:s goto3
-// Chipwait = IPS_Q0
-
-
-
-
diff --git a/CBM/IPS_2.yolol b/CBM/IPS_2.yolol
deleted file mode 100644
index 07e643f..0000000
--- a/CBM/IPS_2.yolol
+++ /dev/null
@@ -1,5 +0,0 @@
-a=91923 b=74246 c=4078 d=95460 e=65966 f=142220 cg=5200332997
-g=a*a h=2*a cn=2*(a-b) i=b*b-a*a+d*d k=2*(b-c) cl=2*(d-e) j=2*d
-:u=(:p-:q+g)/h :v=(:q-:r+:u*cn+i)/j :w=(:r-:s+:u*k+:v*cl-cg)/f goto3
-// Chipwait = IPS_Q1
-
diff --git a/CBM/IPS_3.yolol b/CBM/IPS_3.yolol
deleted file mode 100644
index 2789358..0000000
--- a/CBM/IPS_3.yolol
+++ /dev/null
@@ -1,4 +0,0 @@
-ch=272015 d=368640 e=888881 f=652758 j=111030 k=749384 l=550023
-n=707044 o=444478
-:x=ch*:u-d*:v+e*:w :y=f*:u-k*:v-j*:w :z=n*:u-l*:v-o*:w goto3
-// Chipwait = IPS_Q2
\ No newline at end of file
diff --git a/CBM/IPS_4.yolol b/CBM/IPS_4.yolol
deleted file mode 100644
index d858e76..0000000
--- a/CBM/IPS_4.yolol
+++ /dev/null
@@ -1,2 +0,0 @@
-t=1000 m=t*t a=5000 b=-60000 c=0 :x=:x/m-a :y=:y/m-b :z=:z/m-c goto1
-// Chipwait = IPS_Q3
\ No newline at end of file
diff --git a/IPSA/Blueprints/IPSA.fbe b/IPSA/Blueprints/IPSA.fbe
new file mode 100644
index 0000000..4e0a830
Binary files /dev/null and b/IPSA/Blueprints/IPSA.fbe differ
diff --git a/IPSA/Blueprints/IPSA_No_Frame.fbe b/IPSA/Blueprints/IPSA_No_Frame.fbe
new file mode 100644
index 0000000..40860db
Binary files /dev/null and b/IPSA/Blueprints/IPSA_No_Frame.fbe differ
diff --git a/IPSA/Blueprints/IPSA_Queued.fbe b/IPSA/Blueprints/IPSA_Queued.fbe
new file mode 100644
index 0000000..ccc8b62
Binary files /dev/null and b/IPSA/Blueprints/IPSA_Queued.fbe differ
diff --git a/IPSA/Blueprints/IPSA_Queued_No_Frame.fbe b/IPSA/Blueprints/IPSA_Queued_No_Frame.fbe
new file mode 100644
index 0000000..3cbdc6e
Binary files /dev/null and b/IPSA/Blueprints/IPSA_Queued_No_Frame.fbe differ
diff --git a/IPSA/Error Testing/Dropping Zeros Method.txt/Graphs.png b/IPSA/Error Testing/Dropping Zeros Method.txt/Graphs.png
new file mode 100644
index 0000000..ea0a4f4
Binary files /dev/null and b/IPSA/Error Testing/Dropping Zeros Method.txt/Graphs.png differ
diff --git a/IPSA/Error Testing/Dropping Zeros Method.txt/Raw Measurements.txt b/IPSA/Error Testing/Dropping Zeros Method.txt/Raw Measurements.txt
new file mode 100644
index 0000000..6009196
--- /dev/null
+++ b/IPSA/Error Testing/Dropping Zeros Method.txt/Raw Measurements.txt
@@ -0,0 +1,35 @@
+All measurements were done in different tests.
+Dropping Zeroes Method with Exponential Smoothing. Additional layer of smoothing on Speed.
+
+// Velocity code pattern
+f=0.08 t=0.2 x=:x // Coded by Fryke#0746
+a=(:x-x) b/=a :k+=f*(a-:k) :g=:k/:j*t x=:x goto10
+x=:x goto10
+
+// Speed code
+r=0.5 f=0.1 t=0.2 // Coded by Fryke#0746
+a=((:k^2+:l^2+:m^2)^r)/t :j+=f*(a-:j) goto10
+
+:is
+156.086,156.793,157.359,157.812,158.555,159.588,160.427,158.78,158.053,157.472,157.007,156.635,156.878,157.481,158.38,159.521,179.257,179.537,179.761,180.078,180.368,180.731,181.038,181.284,181.481,181.655,181.893,180.082,177.88,176.439,175.582,174.896
+
+:vx
+0.039,0.04,0.039,0.04,0.039,0.04,0.039,0.04,0.039,0.04,0.039,0.038,0.04,0.043,0.041,0.041,0.039,0.038,0.04,0.041,0.039,0.04,0.039,0.04,0.039,0.04,0.039,0.04,0.039,0.04,0.039,0.04,0.041,0.041,0.041,0.041,0.04,0.04,0.039,0.038,0.039,0.038,0.04,0.038
+
+:vy
+-0.04,-0.04,-0.04,-0.041,-0.041,-0.037,-0.042,-0.042,-0.042,-0.041,-0.041,-0.041,-0.041,-0.04,-0.041,-0.041,-0.041,-0.041,-0.04,-0.04,-0.04,-0.037,-0.038,-0.038,-0.039,-0.039,-0.039,-0.039,-0.04,-0.04,-0.04,-0.041,-0.037,-0.037,-0.038,-0.039,-0.04
+
+:vz
+-0.04,-0.041,-0.041,-0.041,-0.041,-0.041,-0.041,-0.041,-0.041,-0.041,-0.041,-0.041,-0.041,-0.041,-0.041,-0.037,-0.038,-0.038,-0.043,-0.043,-0.042,-0.038,-0.039,-0.039,-0.04,-0.036,-0.038,-0.038,-0.039,-0.036,-0.037,-0.039,-0.04,-0.036,-0.038,-0.039
+
+:vxr
+32.006,32.006,32.006,35.398,35.398,35.398,38.519,38.519,38.519,38.466,38.344,38.344,38.344,38.288,38.159,38.131,38.131,38.016,37.391,34.677,37.577,37.577,37.59,37.59,37.59,37.536,37.424,35.968,34.628,34.628,34.628,34.865,33.818,33.818,34.154,34.352
+
+
+31.71,31.71,31.71,32.201,32.572,32.963,33.296,33.296,33.653,33.938,34.147,34.147,34.147,34.147,34.417,34.599,33.991,32.136,30.744,30.744,30.744,31.24,31.759,29.49,29.877,30.423,31.015,31.015,30.261,30.863,31.412,31.412,31.412,31.412,31.918,32.389
+
+:vyr
+-30.762,-28.153,-28.917,-29.525,-30.175,-30.779,-31.169,-31.169,-31.916,-29.209,-29.796,-30.425,-31.161,-31.594,-28.907,-29.60,-28.408,-25.966,-26.813,-27.721,-27.721,-28.407,-29.11,-29.051,-30.151,-27.566,-28.316,-29.239,-26.724,-27.596,-28.542,-29.163
+
+:vzr
+-30.35,-30.846,-28.284,-29.137,-29.82,-30.362,-27.835,-28.725,-29.353,-30.022,-27.419,-28.444,-29.094,-29.785,-29.785,-29.785,-29.681,-30.325,-27.798,-28.598,-29.331,-30.001,-30.52,-31.084,-28.495,-29.239,-29.888,-30.422,-27.782,-28.765,-29.476,-30.076
\ No newline at end of file
diff --git a/IPSA/Error Testing/Error Counting Method/Graphs.png b/IPSA/Error Testing/Error Counting Method/Graphs.png
new file mode 100644
index 0000000..65966f9
Binary files /dev/null and b/IPSA/Error Testing/Error Counting Method/Graphs.png differ
diff --git a/IPSA/Error Testing/Error Counting Method/Raw Measurements.txt b/IPSA/Error Testing/Error Counting Method/Raw Measurements.txt
new file mode 100644
index 0000000..901bb85
--- /dev/null
+++ b/IPSA/Error Testing/Error Counting Method/Raw Measurements.txt
@@ -0,0 +1,32 @@
+All measurements were done in different tests.
+Error Counting Method with Exponential Smoothing. Additional layer of smoothing on Speed.
+
+// Velocity code pattern
+f=0.08 t=0.2 x=:x ec=1 // Coded by Fryke#0746
+a=(:x-x)/ec b/=a :k+=f*(a-:k) :g=:k/:j*t x=:x ec=1 goto10
+ec++ goto10
+
+// Speed code
+r=0.5 f=0.1 t=0.2 // Coded by Fryke#0746
+a=((:k^2+:l^2+:m^2)^r)/t :j+=f*(a-:j) goto10
+
+:vx
+0.041,0.041,0.041,0.041,0.041,0.039,0.039,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.041,0.041,0.04,0.04,0.04,0.039,0.038,0.039,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.039,0.038,0.038,0.039,0.037,0.037,0.038,0.039,0.037,0.038,0.039
+
+:vy
+-0.038,-0.04,-0.041,-0.037,-0.039,-0.04,-0.041,-0.042,-0.043,-0.043,-0.043,-0.038,-0.04,-0.041,-0.041,-0.037,-0.04,-0.04,-0.04,-0.039,-0.038,-0.039,-0.041,-0.041,-0.037,-0.039,-0.039,-0.04,-0.041,-0.042,-0.042,-0.037,-0.039,-0.04,-0.041,-0.041,-0.041
+
+:vz
+-0.04,-0.044,-0.041,-0.041,-0.041,-0.038,-0.04,-0.04,-0.04,-0.037,-0.039,-0.04,-0.04,-0.038,-0.039,-0.04,-0.041,-0.041,-0.041,-0.039,-0.037,-0.038,-0.039,-0.039,-0.036,-0.038,-0.039,-0.04,-0.04,-0.04,-0.04,-0.041,-0.041,-0.042,-0.042,-0.042,-0.042
+
+:vxr
+28.916,28.916,29.578,29.578,29.578,30.201,30.82,31.309,31.8,32.265,32.265,32.265,32.67,32.67,30.352,30.644,31.147,31.659,30.56,31.467,31.931,31.931,31.931,32.35,32.795,32.795,32.795,33.106,33.479,33.479,33.479,33.781,34.037,34.037,34.037,34.256,34.561
+
+:vyr
+-30.046,-30.583,-30.583,-30.583,-31.077,-31.577,-29.403,-29.594,-30.212,-30.78,-28.217,-28.955,-29.639,-30.152,-30.724,-30.724,-34.916,-34.916,-35.063,-35.174,-35.174,-33.865,-34.033,-34.24,-34.24,-34.24,-34.396,-31.759,-32.16,-32.536,-32.536,-32.868
+
+:vzr
+-30.941,-30.941,-31.412,-31.896,-31.896,-30.797,-31.329,-31.837,-29.183,-29.853,-30.452,-30.078,-28.519,-32.145,-32.524,-32.91,-31.582,-32.052,-32.499,-29.797,-29.797,-30.37,-30.911,-30.911,-30.911,-31.42,-31.42,-31.42,-33.316,-33.316,-33.316,-33.316
+
+:is
+107.516,107.307,106.702,106.701,107.068,107.362,106.938,107.025,107.438,108.191,109.113,110.167,111.01,111.685,111.685,112.501,109.908,110.606,111.47,112.456,113.244,113.875,113.875,114.62,115.456,116.124,116.659,117.326,118.025,117.093,116.192,115.758
\ No newline at end of file
diff --git a/IPSA/Execution Queueing/IPSA_5_Velocity1.yolol b/IPSA/Execution Queueing/IPSA_5_Velocity1.yolol
new file mode 100644
index 0000000..0233f8a
--- /dev/null
+++ b/IPSA/Execution Queueing/IPSA_5_Velocity1.yolol
@@ -0,0 +1,15 @@
+// blank space is here so we can avoid bad values on startup
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+t=0.28 x=:x c=100 // Coded by Fryke#0746
+a=:x-x b/=a d=(ABS(a/c)<1) :k=a*d+(1-d)*a/(a/c) c=a x=:x goto10
+x=:x goto10
+// Velocity Chip #1 - Advanced
+// Calcs X component of the velocity vector
+// Stored raw value in :k, normalized value in :g
+// Accesses :x, :k, :j
diff --git a/IPSA/Execution Queueing/IPSA_6_Velocity2.yolol b/IPSA/Execution Queueing/IPSA_6_Velocity2.yolol
new file mode 100644
index 0000000..35a2935
--- /dev/null
+++ b/IPSA/Execution Queueing/IPSA_6_Velocity2.yolol
@@ -0,0 +1,15 @@
+// blank space is here so we can avoid bad values on startup
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+t=0.28 y=:y c=100 // Coded by Fryke#0746
+a=:y-y b/=a d=(ABS(a/c)<1) :l=a*d+(1-d)*a/(a/c) c=a y=:y goto10
+y=:y goto10
+// Velocity Chip #2 - Advanced
+// Calcs Y component of the velocity vector
+// Stored raw value in :l, normalized value in :h
+// Accesses :y, :l, :j
diff --git a/IPSA/Execution Queueing/IPSA_7_Velocity3.yolol b/IPSA/Execution Queueing/IPSA_7_Velocity3.yolol
new file mode 100644
index 0000000..6abddd8
--- /dev/null
+++ b/IPSA/Execution Queueing/IPSA_7_Velocity3.yolol
@@ -0,0 +1,15 @@
+// blank space is here so we can avoid bad values on startup
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+t=0.28 z=:z c=100 // Coded by Fryke#0746
+a=:z-z b/=a d=(ABS(a/c)<1) :m=a*d+(1-d)*a/(a/c) c=a z=:z goto10
+z=:z goto10
+// Velocity Chip #3 - Advanced
+// Calcs Z component of the velocity vector
+// Stored raw value in :m, normalized value in :i
+// Accesses :z, :m, :j
diff --git a/IPSA/Execution Queueing/IPSA_8_Speed.yolol b/IPSA/Execution Queueing/IPSA_8_Speed.yolol
new file mode 100644
index 0000000..c95a500
--- /dev/null
+++ b/IPSA/Execution Queueing/IPSA_8_Speed.yolol
@@ -0,0 +1,15 @@
+// blank space is here so we can avoid bad values on startup
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+f=0.4 t=0.28 r=0.5 c=100 // Coded by Fryke#0746
+a=((:k^2+:l^2+:m^2)^r)/t :j+=f*((a/(a/c))-:j) c=a goto10
+goto10
+// Speed Chip - Advanced
+// Spits out movement speed :j
+// Accesses :k, :l, :m
+// Uses exponential smoothing
diff --git a/IPSA/GlobalVariableMap.txt b/IPSA/GlobalVariableMap.txt
new file mode 100644
index 0000000..d54fccd
--- /dev/null
+++ b/IPSA/GlobalVariableMap.txt
@@ -0,0 +1,45 @@
+This is the current variable map for CBM.
+
+Internal Global Variables:
+- :a = North Signal Strength
+- :b = South Signal Strength
+- :c = East Signal Strength
+- :d = West Signal Strength
+
+e
+f
+
+- :g = Normalized Velocity Vector X
+- :h = Normalized Velocity Vector X
+- :i = Normalized Velocity Vector X
+- :j = Speed
+- :k = Raw Velocity Vector X
+- :l = Raw Velocity Vector Y
+- :m = Raw Velocity Vector Z
+
+- :n = West Distance
+- :o = North Distance
+- :p = East Distance
+- :q = South Distance
+
+- :r = Raw Calculated X
+- :s = Raw Calculated Y
+- :t = Raw Calculated Z
+- :u = Dirty Rotated X
+- :v = Dirty Rotated Y
+- :w = Dirty Rotated Z
+- :x = Final X
+- :y = Final Y
+- :z = Final Z
+
+External Global Variables:
+- :x = Final X
+- :y = Final Y
+- :z = Final Z
+- :is = Speed
+- :vx = Normalized Velocity Vector X
+- :vy = Normalized Velocity Vector Y
+- :vz = Normalized Velocity Vector Z
+- :vxr = Raw Velocity Vector X
+- :vyr = Raw Velocity Vector Y
+- :vzr = Raw Velocity Vector Z
diff --git a/IPSA/IPSA_1.yolol b/IPSA/IPSA_1.yolol
new file mode 100644
index 0000000..63aaa9f
--- /dev/null
+++ b/IPSA/IPSA_1.yolol
@@ -0,0 +1,7 @@
+t=1000 m=t*t // Coded by Fryke#0746
+:n=(m-:d)^2 :o=(m-:a)^2 :p=(m-:c)^2 :q=(m-:b)^2 goto2
+goto2
+// Chip #1 - Advanced
+// Grabs receiver values and stores them in :n, :o, :p, :q
+// Accesses receiver values :a, :b, :c, :d
+// :a = north, :b = south, :c = east, :d = west
diff --git a/IPSA/IPSA_2.yolol b/IPSA/IPSA_2.yolol
new file mode 100644
index 0000000..5afd233
--- /dev/null
+++ b/IPSA/IPSA_2.yolol
@@ -0,0 +1,8 @@
+ca=91923 cb=74246 cc=4078 cd=95460 ce=65966 // Coded by Fryke#0746
+a=ca*ca b=2*ca c=2*(ca-cb) d=cb*cb-ca*ca+cd*cd e=2*cd f=2*(cb-cc)
+g=2*(cd-ce) h=5200332997 i=142220 t=1000 m=t*t
+:r=(:n-:o+a)/b :s=(:o-:p+:r*c+d)/e :t=(:p-:q+:r*f+:s*g-h)/i goto4
+goto4
+// Chip #2 - Advanced
+// Calculating raw [X, Y, Z] saved as [:r, :s, :t]
+// Accesses :n, :o, :p, :q
diff --git a/IPSA/IPSA_3.yolol b/IPSA/IPSA_3.yolol
new file mode 100644
index 0000000..5003f48
--- /dev/null
+++ b/IPSA/IPSA_3.yolol
@@ -0,0 +1,8 @@
+ch=272015 d=368640 e=888881 f=-652758 j=111030 k=749384 l=550023
+n=707044 o=444478 // Coded by Fryke#0746
+:u=(ch*:r-d*:s+e*:t) :v=(f*:r-k*:s-j*:t) :w=(n*:r-l*:s-o*:t) goto3
+goto3
+// Chip #3 - Advanced
+// Rotation math, rotated coordinates stored in [:u, :v, :w]
+// Note these need to be divided by 1,000,000 to be useable
+// Accesses [:r, :s, :t]
diff --git a/IPSA/IPSA_4.yolol b/IPSA/IPSA_4.yolol
new file mode 100644
index 0000000..c5ffcd3
--- /dev/null
+++ b/IPSA/IPSA_4.yolol
@@ -0,0 +1,5 @@
+t=1000 m=t*t a=5000 b=-60000 c=0 :x=:u/m-a :y=:v/m-b :z=:w/m-c goto1
+goto1 // Coded by Fryke#0746
+// Chip #4 - Advanced
+// Divide rotations mill, apply origin offsets, saves to [:x, :y, :z]
+// Accesses [:u, :v, :w]
diff --git a/IPSA/IPSA_5_Velocity1.yolol b/IPSA/IPSA_5_Velocity1.yolol
new file mode 100644
index 0000000..7cc156e
--- /dev/null
+++ b/IPSA/IPSA_5_Velocity1.yolol
@@ -0,0 +1,16 @@
+// blank space is here so we can avoid bad values on startup
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+f=0.08 t=0.23 x=:x // Coded by Fryke#0746
+a=:x-x b/=a :k+=f*(a-:k) :g=:k/:j*t x=:x goto10
+x=:x goto10
+// Velocity Chip #1 - Advanced
+// Calcs X component of the velocity vector
+// Stored raw value in :k, normalized value in :g
+// Accesses :x, :k, :j
+// Uses exponential smoothing to account for 'double' errors
\ No newline at end of file
diff --git a/IPSA/IPSA_6_Velocity2.yolol b/IPSA/IPSA_6_Velocity2.yolol
new file mode 100644
index 0000000..d85e727
--- /dev/null
+++ b/IPSA/IPSA_6_Velocity2.yolol
@@ -0,0 +1,16 @@
+// blank space is here so we can avoid bad values on startup
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+f=0.08 t=0.23 y=:y // Coded by Fryke#0746
+a=:y-y b/=a :l+=f*(a-:l) :h=:l/:j*t y=:y goto10
+y=:y goto10
+// Velocity Chip #2 - Advanced
+// Calcs Y component of the velocity vector
+// Stored raw value in :l, normalized value in :h
+// Accesses :y, :l, :j
+// Uses exponential smoothing to account for 'double' errors
\ No newline at end of file
diff --git a/IPSA/IPSA_7_Velocity3.yolol b/IPSA/IPSA_7_Velocity3.yolol
new file mode 100644
index 0000000..316f556
--- /dev/null
+++ b/IPSA/IPSA_7_Velocity3.yolol
@@ -0,0 +1,16 @@
+// blank space is here so we can avoid bad values on startup
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+f=0.08 t=0.23 z=:z // Coded by Fryke#0746
+a=:z-z b/=a :m+=f*(a-:m) :i=:m/:j*t z=:z goto10
+z=:z goto10
+// Velocity Chip #3 - Advanced
+// Calcs Z component of the velocity vector
+// Stored raw value in :m, normalized value in :i
+// Accesses :z, :m, :j
+// Uses exponential smoothing to account for 'double' errors
diff --git a/IPSA/IPSA_8_Speed.yolol b/IPSA/IPSA_8_Speed.yolol
new file mode 100644
index 0000000..9bcdc93
--- /dev/null
+++ b/IPSA/IPSA_8_Speed.yolol
@@ -0,0 +1,14 @@
+// blank space is here so we can avoid bad values on startup
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+// blank
+f=0.1 t=0.23 r=0.5 // Coded by Fryke#0746
+a=((:k^2+:l^2+:m^2)^r)/t :j+=f *(a-:j) goto10
+// Speed Chip - Advanced
+// Spits out movement speed :j
+// Accesses :k, :l, :m
+// Uses exponential smoothing since we multiply error by 5 here
diff --git a/IPSA/IPSA_9_SetupAndDisplay.yolol b/IPSA/IPSA_9_SetupAndDisplay.yolol
new file mode 100644
index 0000000..9e82576
--- /dev/null
+++ b/IPSA/IPSA_9_SetupAndDisplay.yolol
@@ -0,0 +1,10 @@
+om="IPS-A :o\n" bm=om+" Booting " em="Setup Error" :o=bm t=1000
+op="origin_" nt=op+"north" st=op+"south" et=op+"east" wt=op+"west"
+cm="\n Check " cr="\n Receivers " :AT=nt :BT=st :CT=et :DT=wt
+mx="X: " my="\nY: " mz="\nZ: " ms="\nS: " // Coded by Fryke#0746
+mu=" m/s" e=:a/:b/:c/:d goto7
+:o=om+em+cm+cr goto2
+:o=om+mx+:x/t*t+my+:y/t*t+mz+:z/t*t+ms+:is/t*t+mu goto7
+goto7
+// Setup and Display Chip - Advanced
+// Setups up receivers, checks for errors, displays info with rounding
diff --git a/IPSA/README.md b/IPSA/README.md
new file mode 100644
index 0000000..f6c416f
--- /dev/null
+++ b/IPSA/README.md
@@ -0,0 +1,96 @@
+![](https://i.imgur.com/bzVLS2a.png)
+
+[![GPLv3 License](https://img.shields.io/static/v1?label=Licence&message=GPL%20v3&color=green)](https://opensource.org/licenses/) [![GitHub Release](https://img.shields.io/static/v1?label=Version&message=1.0.0&color=blue)]() ![](https://img.shields.io/static/v1?label=Blueprint&message=Available&color=blueviolet)
+
+This is the folder for Independant Positioning System - Asynchronous (IPSA), coded by Fryke#0746 on Discord.
+
+IPSA is a plug-and-play Quad 7-chip IPS module for the game Starbase meant to calculate and provide information about position and velocity. This README will be updated with current features and statistics as the system is upgraded and added to.
+
+## Features
+
+- A compact module blueprint that can be installed on any ship.
+- 0.2 second update time.
+- Coordinate and velocity information.
+- A plug-and-play system that only requires a single connection.
+- ~1300 Ship Strength Rating for framed blueprints.
+- Isolated internal network to keep uneeded globals out of the ship network.
+- Customizable output variables.
+
+## IPSA vs IPSA Queued
+
+There are two versions of IPSA available, each with their own benefits.
+
+| IPSA | IPSA Queued |
+|------|-------------|
+| ![#c5f015](https://via.placeholder.com/15/c5f015/000000?text=+) 0.2s Update Rate | ![#f03c15](https://via.placeholder.com/15/f03c15/000000?text=+) 0.4s Update Rate |
+| ![#c5f015](https://via.placeholder.com/15/c5f015/000000?text=+) Slightly smaller at 96x120x168cm (width/height/depth) | ![#f03c15](https://via.placeholder.com/15/f03c15/000000?text=+) Slightly larger at 96x120x192cm (width/height/depth) |
+| ![#c5f015](https://via.placeholder.com/15/c5f015/000000?text=+) Less Expensive | ![#f03c15](https://via.placeholder.com/15/f03c15/000000?text=+) More Expensive (+2 memory relays, +2 memory chips, +2 advanced chips) |
+| ![#f03c15](https://via.placeholder.com/15/f03c15/000000?text=+) Less accurate velocity calculations | ![#c5f015](https://via.placeholder.com/15/c5f015/000000?text=+) More accurate velocity calculations |
+| Better for Coordinates | Better for Velocity |
+
+If you are a standard user, normal IPSA should fit your needs unless the 0.2s slow down is worth a more accurate speed display to you.
+
+If you are a developer or are planning on interacting with IPSA for other velocity-based calculations, then I recommend you use IPSA Queued.
+
+## Requirements and Installation
+
+ You will need 4 Receivers configured in the same manner as 1-chip IPS. You can find receiver setup instructions in the [Current Release](https://github.com/Tmktahu/IPS/tree/main/CurrentRelease) folder.
+
+Included in the Blueprints folder are four blueprints.
+
+- `IPSA.fbe` is the standard plug-and-play module. You can find the blueprint statistics below.
+- `IPSA_No_Frame.fbe` is the same module, but with the plates and beams stripped out for minimalist installations.
+- `IPSA_Queued.fbe` is the Queued version of IPSA.
+- `IPSA_Queued_No_Frame.fbe` is the Queued version of IPSA without plates or beams.
+
+Once the receivers and text panel are ready, go ahead and plug the box into the system by the provided connector/socket. Note that this system must be specifically connected at certain locations to operate correctly. See the diagram of the inner workings further below to see where the correct connections are.
+
+## Blueprint Information
+
+Below are screenshots and tables of information regarding the blueprints and how the system is set up. If you want to read more about how IPSA is setup and how it functions, check out the [How IPSA Works](https://github.com/Tmktahu/IPS/wiki/How-IPSA-Works) wiki page.
+
+The following variables are provided globally to the ship's network. If you want to change the name of these variables, you can tweak them on the `External Output Memory Chip` seen in the IPSA Chip and Layout Diagram further down this page.
+
+Field Names | Field Value
+------------|------------
+x | Final X Coordinate
+y | Final Y Coordinate
+z | Final Z Coordinate
+is | Calculated Speed
+vx | Normalized Velocity X Component
+vy | Normalized Velocity Y Component
+vz | Normalized Velocity Z Component
+vxr | Raw Velocity X Component
+vyr | Raw Velocity Y Component
+vzr | Raw Velocity Z Component
+
+`IPSA.fbe` and `IPSA_Queued_No_Frame` Blueprints
+
+
+
+`IPSA.fbe` Material Cost
+
+
+
+`IPSA.fbe` Full Part List
+
+
+
+`IPSA.fbe` Building Budget
+
+
+
+IPSA Chip and Layout Diagram
+
+![IPSA Chip and Layout Diagram](https://i.imgur.com/6zciqzF.png)
+
+## Want to help?
+
+If you are interested in contributing to this project, feel free to look through the [Issues](https://github.com/Tmktahu/IPS/issues) to see what is currently being worked on. Any thoughts, comments, or PRs are much appreciated. If you have any questions or ideas, also feel free to reach out to Fryke#0746 on Discord. You can find me in the official [Starbase Discord](https://discord.com/invite/starbase).
+
+## Special Thanks
+
+- Aersaud#2007 for a ton of development help, bug squashing, and testing
+- spedione#9006 for testing
+- [Thaccus#0591](https://www.twitch.tv/thaccus) for testing and bug squashing
+
diff --git a/README.md b/README.md
index aaddf22..b482d5e 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,8 @@ For installation instructions, check out the information found in the [Current R
If you are curious about how the code was derived and the logic behind it, feel free to check out the [How IPS Works](https://github.com/Tmktahu/IPS/wiki/How-IPS-Works) wiki page.
+If you're interested in a plug-and-play module, check out [Independant Positioning System - Asynchronous](https://github.com/Tmktahu/IPS/tree/main/IPSA).
+
And finally, I have had the fantastic oppertunity to work with other YOLOL developers to incorporate IPS into their systems. Check out more information on the [Collaborations](https://github.com/Tmktahu/IPS/blob/main/Collaborations.md) page.
## Features and Requirements