diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..fcd3efb63d26718042c46d2a835a68e91382894f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*.psd
diff --git a/README.md b/README.md
index 3688f7bb8cadc879191e1f30c54c545e97594c28..3b2790f37d46906c5b0f8eda450b919f80d28237 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Beehive machine kit
+# Beehive machine building kit
 
 ![](examples/linear_axis/img/axis.jpg)
 
@@ -12,14 +12,64 @@ The project is named after the grid of holes that can either be busy or free, mu
 
 ## Terminology
 
+### Beam
+
+A beam serves as a linear structural element, as well as a guide for a linear motion system. Standard 20mm alluminum extrusions are compatible, but you can also choose to 3D print your own custom beam.
+
+![](./overview/beam.png)
+
 ### Endcaps
 
+An endcap sits on the end of a beam and can join several of them.
+
+![](./overview/endcap.png)
+
 ### Attachments
 
+Attachments offer specific functionality (e.g. hosting a motor, a pulley or a toolhead) and offer a grid of M5, 10mm spaced hole for easier composability:
+
+![](./overview/bare_attachments.png)
+
+They can be combined with an endcap to sit on the end of a beam, here are some examples:
+
+![](./overview/combined_attachments.png)
+
 ### Interposers
 
+Interposers sit between two attachments, and offer pass-through M5 holes with a 10mm spacing.
+
+![](./overview/interposers.png)
+
+### Carriage
+
+A carriage sits on a beam and can slide onto it. They are typically carried by a string or a timing belt.
+
+![](./overview/carriage.png)
+
 ## Dimensions
 
 ### Grid of holes
 
+The grid of hole present on any attachment is an M5, 10mm spacing grid.
+
 ### Endcaps
+
+The end of a beam presents a docking zone for an endcap, following these rules:
+
+- 30mm length
+- Two M5 pass-through holes, distanced by 12mm
+- Three faces present M5 holes, one doesn't
+
+Endcaps can use any of the 6 holes for fastening.
+
+## Example
+
+A complete implementation of a linear axis is presented [here](./examples/linear_axis)
+
+## Files
+
+The files can be found [here](./parts), provided in the following format:
+
+- Fusion archive (.f3d)
+- Step file (.step)
+- 3D print file (.stl)
diff --git a/examples/linear_axis/README.md b/examples/linear_axis/README.md
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..043b8df7cd614a270a35130493087b3cf3520021 100644
--- a/examples/linear_axis/README.md
+++ b/examples/linear_axis/README.md
@@ -0,0 +1,69 @@
+# Beehive linear axis example
+
+![](img/axis.jpg)
+
+This quick guide provides a recipe for a simple linear axis, given the kit parts provided [here](../../parts).
+
+## Bill of Materials
+
+Attachments:
+
+- 1x `motor_endcap_short`
+- 1x `55x55x35_endcap_short`
+
+Carriage and beam:
+
+- 1x `carriage_string`
+- 120mm long, 20x20mm extrusion
+
+Interposers (feet):
+
+- 2x `inter_40mm_90`
+
+String carriage specific:
+
+- 1x `pulley`
+- 1x `capstan_pulley`
+- 1x `capstan_motor`
+- 1x `capstan_holder`
+
+Hardware:
+
+- 5x 40mm M5 socket head
+- 15x 10mm M5 socket head
+- 8x 8mm M3 button head
+- 5x M5 nuts
+- 2x M3 nuts
+- 4x Derlin V-wheel
+- 3x 608ZZ bearing
+- 6x T-slot nuts or M5 nuts (for a printed beam)
+
+## Assembly
+
+The carriage is the first part to go on the beam. Two M3 screws are used to attach the string ends; for now only one of them should be fastened.
+
+![](img/carriage.jpg)
+
+At the bottom, 4 M5 nuts secure the derlin wheels:
+
+![](img/carriage_under.jpg)
+
+The motor is fastened on the motor attachment using 4 M3 screws.
+
+![](img/motor.jpg)
+
+For the capstan pulley that sits next to the motor shaft, you should insert two 608ZZ bearings separated by the spacer, this prevents excessive compression on the bearing pair.
+
+![](img/capstan_spacer.jpg)
+
+The string is wrapped bottom to top. It's easier to mount the capstan support structure only at the end. Note the two M3 screws + nuts that fasten the motor's capstan to the shaft.
+
+![](img/capstan.jpg)
+
+On the other end, the pulley is assembled by press-fitting a 608ZZ bearing and assembling the pulley holder onto the grid of holes. Note the slots for tensioning as the last step.
+
+![](img/pulley.jpg)
+
+The complete axis should look something like this after adding the feet. Note how the free side of the string passes through the hole embedded within the carriage:
+
+![](img/axis.jpg)
diff --git a/overview/bare_attachments.png b/overview/bare_attachments.png
new file mode 100644
index 0000000000000000000000000000000000000000..49c9e555545df4af6c8dd1998f82ae19f0e7b599
Binary files /dev/null and b/overview/bare_attachments.png differ
diff --git a/overview/beam.png b/overview/beam.png
new file mode 100644
index 0000000000000000000000000000000000000000..917fffb0dac18ee213b25b50edafdcc9e8b4ea79
Binary files /dev/null and b/overview/beam.png differ
diff --git a/overview/carriage.png b/overview/carriage.png
new file mode 100644
index 0000000000000000000000000000000000000000..864fa071ffd3865fa8531add0a6db15e386d4a25
Binary files /dev/null and b/overview/carriage.png differ
diff --git a/overview/combined_attachments.png b/overview/combined_attachments.png
new file mode 100644
index 0000000000000000000000000000000000000000..39497ff113992373f4090f868d99c37e88278666
Binary files /dev/null and b/overview/combined_attachments.png differ
diff --git a/overview/endcap.png b/overview/endcap.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2482cdc524081949c330680e52f1d3f591614a4
Binary files /dev/null and b/overview/endcap.png differ
diff --git a/overview/interposers.png b/overview/interposers.png
new file mode 100644
index 0000000000000000000000000000000000000000..1064689fb9b743fff5e109a2a8260ddb07c57093
Binary files /dev/null and b/overview/interposers.png differ
diff --git a/parts/README.md b/parts/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..73ca3cac851e076b7cd30e4ebc06ea7490e6a3af
--- /dev/null
+++ b/parts/README.md
@@ -0,0 +1,39 @@
+# Beehive machine building kit: parts
+
+## Guide
+
+Here you can find the files for the whole kit, structured as follows:
+
+- **bare_endcaps**: endcaps for all types of beam-beam joinery
+- **beam**: 20mm extrusion, 3D printed substitutes
+- **carriages**: wheel-based carriage that slides on a beam
+- **bare_attachments**: Attachments that can mount on endcaps or carriages
+- **combined_attachments-endcaps**: combination of an endcap and an attachment (not all combinations are present here)
+- **interposers**: joinery for the M5, 10mm spacing hole grid
+- **capstan_mtion**: anything related to string-based motion
+
+## Overview
+
+### Beam
+
+![](../overview/beam.png)
+
+### Endcaps
+
+![](../overview/endcap.png)
+
+### Attachments, bare
+
+![](../overview/bare_attachments.png)
+
+### Attachments, combined
+
+![](../overview/combined_attachments.png)
+
+### Interposers
+
+![](../overview/interposers.png)
+
+### Carriage
+
+![](../overview/carriage.png)
diff --git a/parts/beam/beam.f3d b/parts/beam/20x20_beam.f3d
similarity index 100%
rename from parts/beam/beam.f3d
rename to parts/beam/20x20_beam.f3d
diff --git a/parts/beam/beam.step b/parts/beam/20x20_beam.step
similarity index 100%
rename from parts/beam/beam.step
rename to parts/beam/20x20_beam.step
diff --git a/parts/beam/beam.stl b/parts/beam/20x20_beam.stl
similarity index 100%
rename from parts/beam/beam.stl
rename to parts/beam/20x20_beam.stl
diff --git a/parts/interposers/40mm_90.f3d b/parts/interposers/inter_40mm_90.f3d
similarity index 100%
rename from parts/interposers/40mm_90.f3d
rename to parts/interposers/inter_40mm_90.f3d
diff --git a/parts/interposers/40mm_90.step b/parts/interposers/inter_40mm_90.step
similarity index 100%
rename from parts/interposers/40mm_90.step
rename to parts/interposers/inter_40mm_90.step
diff --git a/parts/interposers/40mm_90.stl b/parts/interposers/inter_40mm_90.stl
similarity index 100%
rename from parts/interposers/40mm_90.stl
rename to parts/interposers/inter_40mm_90.stl