diff --git a/.DS_Store b/.DS_Store
index 895af9e669b27dce9939844f3376be7cf9064787..76ad7ebf555cc17fd78ead806c0ba074f489e5f7 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/code/.DS_Store b/code/.DS_Store
index 89fe58b0c01df38375acda570a02748dddc405cc..f189e0956d763e52fdcca85f4c49d792b64bd956 100644
Binary files a/code/.DS_Store and b/code/.DS_Store differ
diff --git a/demo/.DS_Store b/demo/.DS_Store
index 24c1aed27847285c5858a860124767fa33122e08..dd6663f061fc2e61b828dfa7c6fdc0f01a4ede21 100644
Binary files a/demo/.DS_Store and b/demo/.DS_Store differ
diff --git a/demo/demo_video/.DS_Store b/demo/demo_video/.DS_Store
index e0540ae4579d384993a566df48be74f82de1481a..be132b76ff140724b1a8ff824956e761c68e54a8 100644
Binary files a/demo/demo_video/.DS_Store and b/demo/demo_video/.DS_Store differ
diff --git a/notebooks/.DS_Store b/notebooks/.DS_Store
index b05c131501c604a394d1520ca03692f92c79626a..70bcdd38a770865a6c2c749adde2a1fe2930e657 100644
Binary files a/notebooks/.DS_Store and b/notebooks/.DS_Store differ
diff --git a/notebooks/Jeff Chang/.DS_Store b/notebooks/Jeff Chang/.DS_Store
index 706d3d188230431f476be8e37565e40e5d66e9a6..b042cc39dd3c8dc786dc12ea715745a872a66285 100644
Binary files a/notebooks/Jeff Chang/.DS_Store and b/notebooks/Jeff Chang/.DS_Store differ
diff --git a/notebooks/Jeff Chang/notebook_kcchang3.md b/notebooks/Jeff Chang/notebook_kcchang3.md
index 1842e7e19af0cfe0281113e759af1985f9f36e04..1d2e08b597ce9f68e6837d5040b29bf674e72781 100644
--- a/notebooks/Jeff Chang/notebook_kcchang3.md	
+++ b/notebooks/Jeff Chang/notebook_kcchang3.md	
@@ -535,3 +535,42 @@ if(a1[0]>=220){
   continue;
 }
 ```
+
+## Dec 2nd, 2021 (Acceleration, Backup Code, Verification)
+### Acceleration
+We added a final section to strengthen the end-of-movement detection algorithm. This code basically book keeps which direction we are going, and doesn't allow velocity to go in the opposite direction in a certain period of time. Specifically, we use old_mouseX and old_mouseY to store the previous direction, and set the mouse direction to be zero when we see a jump of sign.
+```
+if ((mouse[4] > 0 && old_mouseX < 0) || (mouse[4] < 0 && old_mouseX > 0)) {
+  mouse[4] = 0;
+}
+else {
+  old_mouseX = mouse[4];
+}
+if ((mouse[5] > 0 && old_mouseY < 0) || (mouse[5] < 0 && old_mouseY > 0)) {
+    mouse[5] = 0;
+}
+else {
+  old_mouseY = mouse[5];
+}
+```
+### Backup Code
+In our testing, we realized it might be more stable to use components of gravitational acceleration for calculating position update. If we tilt our hand to the right, we will see the gravitational acceleration component in the y direction. Using these values, we can simply add a counter and continuously send position update in that position just like how we wrote the code for volume control. In the code below, you can see we set a threshold to see if the hand is tilted enough, then just continuously send a +5 or -5 position update to the PC using mouse[4] and mouse[5], until that tilt in the device goes below 50. Since our usual implementation is prone to hand instability, we plan on flashing this version during demo as well.
+```
+if(abs(a1[1])>=50) {
+  mouse[4] = 5*(a1[1]/abs(a1[1]));
+}
+else {
+  mouse[4] = 0;
+}
+if(abs(a1[0])>=50) {
+    mouse[5] = -5*(a1[0]/abs(a1[0]));
+}
+else {
+    mouse[5] = 0;
+}
+```
+### Verification
+After all the code implementation, I conducted the verification for most subsystems. All the data are collected in the file "data445.xlsx" and will be presented in the presentation, so I will not copy them here again. I took videos of all the testing and that information has been pushed under "[demo/demo_videos](https://gitlab.engr.illinois.edu/zy8/ece445-lab-notebook/-/tree/develop/demo/demo_video)"
+
+# This marks the end of the project.
+