diff --git a/src/coin_simulator.scad b/src/coin_simulator.scad
new file mode 100644
index 0000000000000000000000000000000000000000..c673a1fe99925a0e6b1d5ba3c3af1167d1854a04
--- /dev/null
+++ b/src/coin_simulator.scad
@@ -0,0 +1,26 @@
+
+// 100 HUF coin parameters:
+thickness = 2.2;
+radius = 23.8 / 2;
+
+module canonical() {
+    handle_len = radius * 2;
+    handle_w = radius * 0.7;
+    handle_r = 3;
+    hole_r = handle_r / 2;
+
+
+    linear_extrude(thickness) union() {
+        translate([0,-handle_len,0]) difference() {
+            minkowski() {
+                polygon([ [0,0], [-handle_w/2,handle_len],
+                    [handle_w/2,handle_len] ]);
+                circle(r=handle_r, $fn=50);
+            };
+            circle(hole_r, $fn=30);
+        };
+        circle(radius, $fn=100);
+    };
+}
+
+canonical();
diff --git a/src/filament_spool_adapter.scad b/src/filament_spool_adapter.scad
new file mode 100644
index 0000000000000000000000000000000000000000..47195b6f681041cb3a6b743b8c714c78f68d56d8
--- /dev/null
+++ b/src/filament_spool_adapter.scad
@@ -0,0 +1,47 @@
+use <../include/screw.scad>;
+
+ID = 52.5; // internal diameter
+OD = ID + 10; // outer diameter
+TD = 8.5; // rod diameter
+SD = ID/2; // screw diameter
+L = 70; // length
+
+$fn=100;
+
+module rod() {
+    translate([0,0,-1]) cylinder(h=L+2+5, d=TD);
+}
+
+module screw(tol=0) {
+    translate([0,0,L+5]) rotate([180,0,0]) metric_screw(P=6, D_maj = SD, h=L+5, taper=true, tol=tol);
+}
+
+module bottom() {
+    difference() {
+        union() {
+            cylinder(h=4, d=OD);
+            cylinder(h=10, d=ID);
+            screw();
+            cylinder(h=L/5, d=SD+2);
+        }
+        rod();
+    }
+}
+
+module top() {
+    difference() {
+        union() {
+            difference() {
+                union() {
+                    translate([0,0,L-20]) cylinder(h=20, d=ID);
+                    translate([0,0,L-4]) cylinder(h=4, d=OD);
+                }
+                translate([0,0,L/2]) screw(tol=.7);
+            }
+        }
+        rod();
+    }
+}
+
+bottom();
+// translate([OD+1,0,0]) rotate([180,0,0]) translate([0,0,-L]) top();
\ No newline at end of file