diff --git a/housing/path413.svg b/housing/path413.svg
new file mode 100644
index 0000000..d7f4625
--- /dev/null
+++ b/housing/path413.svg
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   version="1.1"
+   id="svg39"
+   width="242.97607"
+   height="310.57062"
+   viewBox="0 0 242.97607 310.57062"
+   sodipodi:docname="aaron.svg"
+   inkscape:export-filename="IMG_2034.svg"
+   inkscape:export-xdpi="96"
+   inkscape:export-ydpi="96"
+   inkscape:version="0.0"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs43" />
+  <sodipodi:namedview
+     id="namedview41"
+     pagecolor="#ffffff"
+     bordercolor="#000000"
+     borderopacity="0.25"
+     inkscape:showpageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:deskcolor="#d1d1d1"
+     showgrid="false"
+     inkscape:lockguides="false"
+     inkscape:zoom="0.55429685"
+     inkscape:cx="1563.2418"
+     inkscape:cy="586.32843"
+     inkscape:window-width="1645"
+     inkscape:window-height="1212"
+     inkscape:window-x="2886"
+     inkscape:window-y="169"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g45" />
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Image"
+     id="g45"
+     transform="translate(-904.56362,-517.54901)">
+    <path
+       style="display:inline;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#800000;stroke-width:0.52;stroke-opacity:1"
+       d="m 928.85248,517.80917 c 0,0 82.08602,7.50501 115.85852,12.6647 8.2165,1.2553 73.6428,13.60281 73.6428,13.60281 0,0 15.0222,3.05334 22.6207,7.78805 6.8557,4.2718 7.3867,8.8036 5.054,17.07228 -4.517,16.01191 -5.1597,18.29345 -5.1597,18.29345 l -24.8603,62.8544 -25.2156,59.45716 -24.6327,53.46339 c 0,0 -7.7659,15.54574 -16.6781,28.67949 -8.9122,13.13376 -21.1883,22.57193 -21.1883,22.57193 l -6.4197,5.24017 c 0,0 -6.7141,4.14108 -16.5644,5.54827 -9.85033,1.40719 -35.17968,2.81435 -35.17968,2.81435 h -24.39128 c 0,0 -9.3444,-0.60242 -13.24757,-4.19797 -3.31522,-3.05394 -5.10278,-4.10775 -8.79838,-11.28108 -4.05325,-7.86754 -9.26744,-73.97452 -9.26744,-73.97452 0,0 -7.40117,-102.36203 -7.61882,-107.1406 -0.60645,-13.31425 -1.40719,-74.05501 -1.40719,-74.05501 l -0.52597,-27.81208 c 0,0 -0.97146,-5.73281 5.54827,-9.9308 2.23096,-1.43648 18.43084,-1.65839 18.43084,-1.65839 z"
+       id="path413"
+       sodipodi:nodetypes="cscssccccsccsccsscsccsc"
+       inkscape:label="path413" />
+  </g>
+</svg>
diff --git a/housing/thing.scad b/housing/thing.scad
new file mode 100644
index 0000000..21369b9
--- /dev/null
+++ b/housing/thing.scad
@@ -0,0 +1,117 @@
+module ShifterThing() {
+  translate([-8, 3, -1])
+    linear_extrude(4)
+    rotate([0, 0, -17])
+    rotate([0, 180, 0])
+    import("path413.svg", center=true, dpi=94.5);
+}
+
+TOP_PLATE_Y = 101;
+
+module Foo(width) {
+  difference() {
+    linear_extrude(2)
+      square([width, TOP_PLATE_Y], center=true);
+
+    translate([0, 0, -1])
+      linear_extrude(4)
+      square([width - 4, TOP_PLATE_Y - 4], center=true);
+    //ShifterThing();
+  }
+}
+
+POST_DIAMETER = 6;
+POST_OUTER_DIAMETER = 14;
+REAR_TAB_LENGTH = 16;
+MIN_WALL_THICKNESS = 2;
+
+module RearPost(height) {
+  $fn = 80;
+  diameter = POST_DIAMETER;
+
+  outer_diameter = POST_OUTER_DIAMETER;
+
+  length = (outer_diameter / 2) + (REAR_TAB_LENGTH - outer_diameter);
+  echo(length);
+
+  difference() {
+    linear_extrude(height)
+      union() {
+        circle(d = outer_diameter);
+        translate([-(outer_diameter / 2), -length])
+          square([outer_diameter, length]);
+      }
+
+    translate([0, 0, -1])
+    linear_extrude(height + 2)
+      circle(d = diameter);
+  }
+}
+
+BOX_X = 79;
+
+module FrontPosts(height) {
+  x = (BOX_X / 2) + 7;
+  translate([-x, 0, 0])
+    rotate([0, 0, 90])
+    FrontPost(height);
+
+  translate([x, 0, 0])
+    rotate([0, 0, -90])
+    FrontPost(height);
+}
+
+module FrontPost(height) {
+  $fn = 80;
+  diameter = POST_DIAMETER;
+
+  outer_diameter = POST_OUTER_DIAMETER;
+
+  length = (outer_diameter / 2) + (16 - outer_diameter);
+
+  difference() {
+    linear_extrude(height)
+      union() {
+        circle(d = outer_diameter);
+        translate([-(15 / 2), -7])
+          polygon([[0, 0], [15, 0], [14.5, 7], [0.5, 7]]);
+      }
+
+    translate([0, 0, -1])
+    linear_extrude(height + 2)
+      circle(d = diameter);
+  }
+
+}
+
+module RearWall(height) {
+  rear_post_center_x = (59 / 2) + (POST_DIAMETER / 2);
+
+  for (i = [-1, 1]) {
+    translate([i * rear_post_center_x, 0, 0])
+      RearPost(height);
+  }
+
+  top_fill_y = REAR_TAB_LENGTH - (POST_OUTER_DIAMETER / 2);
+  // Top plate between tabs
+  translate([0, -(top_fill_y / 2), height - MIN_WALL_THICKNESS])
+    linear_extrude(MIN_WALL_THICKNESS)
+    // Just adding +2 to make it slightly wider so everything is connected nicely
+    square([((rear_post_center_x * 2) - POST_OUTER_DIAMETER) + 2, top_fill_y], center=true);
+
+  linear_extrude(height)
+    square([(rear_post_center_x * 2) - POST_DIAMETER, 2], center=true);
+}
+
+REAR_POST_Z = 31;
+
+translate([0, (TOP_PLATE_Y / 2) - (15 / 2), 0])
+  FrontPosts(REAR_POST_Z + 2); // front are ~2mm lower
+
+translate([0, 0, 2]) {
+translate([0, -((TOP_PLATE_Y / 2) + 9), 0])
+rotate([0, 0, 180])
+  RearWall(REAR_POST_Z);
+translate([0, 0, REAR_POST_Z - 2])
+  Foo(79);
+}