diff --git a/.gitmodules b/.gitmodules
index 6ce6a31bec517a9985964508bfb9387f82c7acc8..6a74cd58d0096775da60961e93576d8904710f9e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,12 +1,12 @@
 [submodule "ulo/coq.8.9.0"]
-	path = ulo/libraries/coq
+	path = experimental/ulo/libraries/coq
 	url = git@gl.mathhub.info:Coqxml/coq.8.9.0.git
 [submodule "ulo/Distribution"]
-	path = ulo/libraries/isabelle-distribution
+	path = experimental/ulo/libraries/isabelle-distribution
 	url = git@gl.mathhub.info:Isabelle/Distribution.git
 [submodule "ulo/AFP"]
-	path = ulo/libraries/isabelle-afp
+	path = experimental/ulo/libraries/isabelle-afp
 	url = git@gl.mathhub.info:Isabelle/AFP.git
 [submodule "ulo/ulo"]
-	path = ulo/ulo-owl
+	path = experimental/ulo/ulo-owl
 	url = git@gl.mathhub.info:ulo/ulo.git
diff --git a/README.md b/README.md
index 2ac718e8324f34cb97d3b60320f34fd934f69e92..5d18460c8a89f4f8afeb567bd582ea9f22356ca7 100644
--- a/README.md
+++ b/README.md
@@ -1,23 +1,9 @@
 Directories
 ===========
 
-* `/doc`: Project documentation.
+* `/doc`: Project documentation. Includes a timeline to do list.
 
-* `/timeline`: Goals and results for each week.
+* `/experimental`: Playing around with various components and
+  technologies.
 
-* `/graphdb`: Playing with the RDF4J [3] API of GraphDB [4].
-
-* `/ulo`: Playing around w/ the results of the ULO paper [1, 2]
-
-* `/ulocollecto`: Implementation of ULO `Collector` components.
-
-References
-==========
-
-[1] https://kwarc.info/people/mkohlhase/papers/cicm19-ulo.pdf
-
-[2] https://gl.mathhub.info/ulo/ulo/blob/master/ulo.owl
-
-[3]  https://rdf4j.org/
-
-[4] http://graphdb.ontotext.com/
+* `/src`: Implementation source code.
diff --git a/timeline/week17.txt b/doc/timeline/week17.txt
similarity index 100%
rename from timeline/week17.txt
rename to doc/timeline/week17.txt
diff --git a/timeline/week18.txt b/doc/timeline/week18.txt
similarity index 100%
rename from timeline/week18.txt
rename to doc/timeline/week18.txt
diff --git a/timeline/week19.txt b/doc/timeline/week19.txt
similarity index 100%
rename from timeline/week19.txt
rename to doc/timeline/week19.txt
diff --git a/timeline/week20.txt b/doc/timeline/week20.txt
similarity index 100%
rename from timeline/week20.txt
rename to doc/timeline/week20.txt
diff --git a/graphdb/graphcli/.gitignore b/experimental/graphdb/graphcli/.gitignore
similarity index 100%
rename from graphdb/graphcli/.gitignore
rename to experimental/graphdb/graphcli/.gitignore
diff --git a/graphdb/graphcli/pom.xml b/experimental/graphdb/graphcli/pom.xml
similarity index 100%
rename from graphdb/graphcli/pom.xml
rename to experimental/graphdb/graphcli/pom.xml
diff --git a/graphdb/graphcli/src/main/java/me/schaertl/graphcli/GraphDB.java b/experimental/graphdb/graphcli/src/main/java/me/schaertl/graphcli/GraphDB.java
similarity index 100%
rename from graphdb/graphcli/src/main/java/me/schaertl/graphcli/GraphDB.java
rename to experimental/graphdb/graphcli/src/main/java/me/schaertl/graphcli/GraphDB.java
diff --git a/graphdb/graphcli/src/main/java/me/schaertl/graphcli/Main.java b/experimental/graphdb/graphcli/src/main/java/me/schaertl/graphcli/Main.java
similarity index 100%
rename from graphdb/graphcli/src/main/java/me/schaertl/graphcli/Main.java
rename to experimental/graphdb/graphcli/src/main/java/me/schaertl/graphcli/Main.java
diff --git a/graphdb/graphcli/src/main/java/me/schaertl/graphcli/ULO.java b/experimental/graphdb/graphcli/src/main/java/me/schaertl/graphcli/ULO.java
similarity index 100%
rename from graphdb/graphcli/src/main/java/me/schaertl/graphcli/ULO.java
rename to experimental/graphdb/graphcli/src/main/java/me/schaertl/graphcli/ULO.java
diff --git a/graphdb/graphcli/src/main/resources/logback.xml b/experimental/graphdb/graphcli/src/main/resources/logback.xml
similarity index 100%
rename from graphdb/graphcli/src/main/resources/logback.xml
rename to experimental/graphdb/graphcli/src/main/resources/logback.xml
diff --git a/ulo/libraries/coq b/experimental/ulo/libraries/coq
similarity index 100%
rename from ulo/libraries/coq
rename to experimental/ulo/libraries/coq
diff --git a/ulo/libraries/isabelle-afp b/experimental/ulo/libraries/isabelle-afp
similarity index 100%
rename from ulo/libraries/isabelle-afp
rename to experimental/ulo/libraries/isabelle-afp
diff --git a/ulo/libraries/isabelle-distribution b/experimental/ulo/libraries/isabelle-distribution
similarity index 100%
rename from ulo/libraries/isabelle-distribution
rename to experimental/ulo/libraries/isabelle-distribution
diff --git a/ulo/queries/inductive.sparql b/experimental/ulo/queries/inductive.sparql
similarity index 100%
rename from ulo/queries/inductive.sparql
rename to experimental/ulo/queries/inductive.sparql
diff --git a/ulo/scripts/coq-cut.sh b/experimental/ulo/scripts/coq-cut.sh
similarity index 100%
rename from ulo/scripts/coq-cut.sh
rename to experimental/ulo/scripts/coq-cut.sh
diff --git a/ulo/scripts/extract-iris.sh b/experimental/ulo/scripts/extract-iris.sh
similarity index 100%
rename from ulo/scripts/extract-iris.sh
rename to experimental/ulo/scripts/extract-iris.sh
diff --git a/ulo/scripts/fix-rdf-file.py b/experimental/ulo/scripts/fix-rdf-file.py
similarity index 100%
rename from ulo/scripts/fix-rdf-file.py
rename to experimental/ulo/scripts/fix-rdf-file.py
diff --git a/ulo/scripts/isabelle-prepare-directory.sh b/experimental/ulo/scripts/isabelle-prepare-directory.sh
similarity index 100%
rename from ulo/scripts/isabelle-prepare-directory.sh
rename to experimental/ulo/scripts/isabelle-prepare-directory.sh
diff --git a/ulo/scripts/isabelle-prepare-file.sh b/experimental/ulo/scripts/isabelle-prepare-file.sh
similarity index 100%
rename from ulo/scripts/isabelle-prepare-file.sh
rename to experimental/ulo/scripts/isabelle-prepare-file.sh
diff --git a/ulo/scripts/reset-libraries.sh b/experimental/ulo/scripts/reset-libraries.sh
similarity index 100%
rename from ulo/scripts/reset-libraries.sh
rename to experimental/ulo/scripts/reset-libraries.sh
diff --git a/ulo/scripts/virtuso/build_virtuoso.sh b/experimental/ulo/scripts/virtuso/build_virtuoso.sh
similarity index 100%
rename from ulo/scripts/virtuso/build_virtuoso.sh
rename to experimental/ulo/scripts/virtuso/build_virtuoso.sh
diff --git a/ulo/scripts/virtuso/import-recursive-xz-rdf-to-virtuoso.sh b/experimental/ulo/scripts/virtuso/import-recursive-xz-rdf-to-virtuoso.sh
similarity index 100%
rename from ulo/scripts/virtuso/import-recursive-xz-rdf-to-virtuoso.sh
rename to experimental/ulo/scripts/virtuso/import-recursive-xz-rdf-to-virtuoso.sh
diff --git a/ulo/ulo-owl b/experimental/ulo/ulo-owl
similarity index 100%
rename from ulo/ulo-owl
rename to experimental/ulo/ulo-owl
diff --git a/ulo/ulo-used.txt b/experimental/ulo/ulo-used.txt
similarity index 100%
rename from ulo/ulo-used.txt
rename to experimental/ulo/ulo-used.txt
diff --git a/ulocollect/main.go b/main.go
similarity index 100%
rename from ulocollect/main.go
rename to main.go
diff --git a/ulocollect/core/collecter.go b/src/ulocollect/collecter.go
similarity index 100%
rename from ulocollect/core/collecter.go
rename to src/ulocollect/collecter.go
diff --git a/ulocollect/core/dummy_importer.go b/src/ulocollect/dummy_importer.go
similarity index 100%
rename from ulocollect/core/dummy_importer.go
rename to src/ulocollect/dummy_importer.go
diff --git a/ulocollect/core/file_system_collecter.go b/src/ulocollect/file_system_collecter.go
similarity index 100%
rename from ulocollect/core/file_system_collecter.go
rename to src/ulocollect/file_system_collecter.go
diff --git a/ulocollect/go.mod b/src/ulocollect/go.mod
similarity index 100%
rename from ulocollect/go.mod
rename to src/ulocollect/go.mod
diff --git a/ulocollect/go.sum b/src/ulocollect/go.sum
similarity index 100%
rename from ulocollect/go.sum
rename to src/ulocollect/go.sum
diff --git a/ulocollect/core/importer.go b/src/ulocollect/importer.go
similarity index 100%
rename from ulocollect/core/importer.go
rename to src/ulocollect/importer.go
diff --git a/ulocollect/core/iri_fix_importer.go b/src/ulocollect/iri_fix_importer.go
similarity index 100%
rename from ulocollect/core/iri_fix_importer.go
rename to src/ulocollect/iri_fix_importer.go
diff --git a/ulocollect/core/iri_fix_importer_test.go b/src/ulocollect/iri_fix_importer_test.go
similarity index 100%
rename from ulocollect/core/iri_fix_importer_test.go
rename to src/ulocollect/iri_fix_importer_test.go
diff --git a/ulocollect/core/job_id.go b/src/ulocollect/job_id.go
similarity index 100%
rename from ulocollect/core/job_id.go
rename to src/ulocollect/job_id.go
diff --git a/ulocollect/core/job_info.go b/src/ulocollect/job_info.go
similarity index 100%
rename from ulocollect/core/job_info.go
rename to src/ulocollect/job_info.go
diff --git a/ulocollect/core/job_state.go b/src/ulocollect/job_state.go
similarity index 100%
rename from ulocollect/core/job_state.go
rename to src/ulocollect/job_state.go
diff --git a/ulocollect/core/local_scheduler.go b/src/ulocollect/local_scheduler.go
similarity index 100%
rename from ulocollect/core/local_scheduler.go
rename to src/ulocollect/local_scheduler.go
diff --git a/ulocollect/core/package.go b/src/ulocollect/package.go
similarity index 100%
rename from ulocollect/core/package.go
rename to src/ulocollect/package.go
diff --git a/ulocollect/core/scheduler.go b/src/ulocollect/scheduler.go
similarity index 100%
rename from ulocollect/core/scheduler.go
rename to src/ulocollect/scheduler.go
diff --git a/ulocollect/core/waiting_room.go b/src/ulocollect/waiting_room.go
similarity index 100%
rename from ulocollect/core/waiting_room.go
rename to src/ulocollect/waiting_room.go