diff --git a/documentation/spec.md b/documentation/spec.md
index d1ce14e..430de5d 100644
--- a/documentation/spec.md
+++ b/documentation/spec.md
@@ -1 +1,19 @@
 # Esql
+
+## Reservations
+**All symbol names to the form** `_esql_*` **are reserved for symbol names.**
+
+Esql will sometimes require variables to store intermediate values,
+these will always start with the prefix `_esql_`.
+
+## For project contributors
+### Structure
+The esql implementation follows a very basic polymorphic model.
+The base class is `class Database`,
+this is what the Sqlite implementation inherits from and
+what subsequent databases should too.
+
+### Ideas to explore
++ adding unsafe instructions / precocessing to turn of validation and become syntax sugar only
++ struct unpacking
++ table format validation