diff --git a/misc/drawer.ipynb b/misc/drawer.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..638d4513a85a07ceecbabcd0441106a3de87d1b8
--- /dev/null
+++ b/misc/drawer.ipynb
@@ -0,0 +1,32 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "We have a cubical shelf space of 30 cm × 30 cm × 30 cm. The design challenge is to create a drawer that performs a compound motion: it is pulled horizontally outward while simultaneously dropping vertically, pivoting around the bottom shelf's edge. This drop-down action is enabled by making the interior (side and rear) panels of the drawer shorter in height than its front panel. As a result, when the drawer is fully extended, the upper edge of its back panel aligns with the top front edge of the shelf, ensuring the drawer remains contained and does not fall out. The goal is to devise a guiding system—using rollers and groove tracks—that controls this dual-motion path precisely. Write a python script that plots the shelf space with the drawer in three positions: fully inside the shelf, half-way out, and fully extended, showing the position and rotation of the drawer. You can ignore the front side of the drawer for simplicity and plot the drawer as a rectangle. Respect the physical boundaries of shelf space when calculating the rotational movement of the drawer. Plot the grove track in the drawer's side panels and the position of the roller in the shelf side panels. Think step by step, establishing the geometrics of the motion before writing the code."
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "base",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.9.16"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}