diff --git a/.gitmodules b/.gitmodules
index 4bc0f42c..68f6b37d 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,8 +1,8 @@
-[submodule "graph/lib/doc/bracket"]
-	path = graph/lib/doc/bracket
+[submodule "graph-lib/lib/doc/bracket"]
+	path = graph-lib/lib/doc/bracket
 	url = https://github.com/jsmaniac/bracket
 	branch = ignore-compiled-folders
-[submodule "graph/lib/doc/MathJax"]
-	path = graph/lib/doc/MathJax
+[submodule "graph-lib/lib/doc/MathJax"]
+	path = graph-lib/lib/doc/MathJax
 	url = https://github.com/mathjax/MathJax.git
 	branch = master
diff --git a/README b/README
index 06229357..ce4595f1 120000
--- a/README
+++ b/README
@@ -1 +1 @@
-graph/README
\ No newline at end of file
+graph-lib/README
\ No newline at end of file
diff --git a/graph/.gitignore b/graph-lib/.gitignore
similarity index 100%
rename from graph/.gitignore
rename to graph-lib/.gitignore
diff --git a/graph/Makefile b/graph-lib/Makefile
similarity index 100%
rename from graph/Makefile
rename to graph-lib/Makefile
diff --git a/graph/README b/graph-lib/README
similarity index 100%
rename from graph/README
rename to graph-lib/README
diff --git a/graph/graph/__DEBUG_graph__.rkt b/graph-lib/graph/__DEBUG_graph__.rkt
similarity index 100%
rename from graph/graph/__DEBUG_graph__.rkt
rename to graph-lib/graph/__DEBUG_graph__.rkt
diff --git a/graph/graph/__DEBUG_structure-supertype__.rkt b/graph-lib/graph/__DEBUG_structure-supertype__.rkt
similarity index 100%
rename from graph/graph/__DEBUG_structure-supertype__.rkt
rename to graph-lib/graph/__DEBUG_structure-supertype__.rkt
diff --git a/graph/graph/_experiment_queues_without_list.rkt b/graph-lib/graph/_experiment_queues_without_list.rkt
similarity index 100%
rename from graph/graph/_experiment_queues_without_list.rkt
rename to graph-lib/graph/_experiment_queues_without_list.rkt
diff --git a/graph/graph/cond-abort.rkt b/graph-lib/graph/cond-abort.rkt
similarity index 100%
rename from graph/graph/cond-abort.rkt
rename to graph-lib/graph/cond-abort.rkt
diff --git a/graph/graph/dotlang.rkt b/graph-lib/graph/dotlang.rkt
similarity index 100%
rename from graph/graph/dotlang.rkt
rename to graph-lib/graph/dotlang.rkt
diff --git a/graph/graph/equatable.rkt b/graph-lib/graph/equatable.rkt
similarity index 100%
rename from graph/graph/equatable.rkt
rename to graph-lib/graph/equatable.rkt
diff --git a/graph/graph/fold-queues.lp2.rkt b/graph-lib/graph/fold-queues.lp2.rkt
similarity index 100%
rename from graph/graph/fold-queues.lp2.rkt
rename to graph-lib/graph/fold-queues.lp2.rkt
diff --git a/graph/graph/graph.lp2.rkt b/graph-lib/graph/graph.lp2.rkt
similarity index 100%
rename from graph/graph/graph.lp2.rkt
rename to graph-lib/graph/graph.lp2.rkt
diff --git a/graph/graph/graph2.lp2.rkt_ b/graph-lib/graph/graph2.lp2.rkt_
similarity index 100%
rename from graph/graph/graph2.lp2.rkt_
rename to graph-lib/graph/graph2.lp2.rkt_
diff --git a/graph/graph/graph3.lp2.rkt b/graph-lib/graph/graph3.lp2.rkt
similarity index 100%
rename from graph/graph/graph3.lp2.rkt
rename to graph-lib/graph/graph3.lp2.rkt
diff --git a/graph/graph/graph4.lp2.rkt b/graph-lib/graph/graph4.lp2.rkt
similarity index 100%
rename from graph/graph/graph4.lp2.rkt
rename to graph-lib/graph/graph4.lp2.rkt
diff --git a/graph/graph/list-lang.rkt b/graph-lib/graph/list-lang.rkt
similarity index 100%
rename from graph/graph/list-lang.rkt
rename to graph-lib/graph/list-lang.rkt
diff --git a/graph/graph/map.rkt b/graph-lib/graph/map.rkt
similarity index 100%
rename from graph/graph/map.rkt
rename to graph-lib/graph/map.rkt
diff --git a/graph/graph/map1.rkt b/graph-lib/graph/map1.rkt
similarity index 100%
rename from graph/graph/map1.rkt
rename to graph-lib/graph/map1.rkt
diff --git a/graph/graph/queue.lp2.rkt b/graph-lib/graph/queue.lp2.rkt
similarity index 100%
rename from graph/graph/queue.lp2.rkt
rename to graph-lib/graph/queue.lp2.rkt
diff --git a/graph/graph/remember.rkt b/graph-lib/graph/remember.rkt
similarity index 100%
rename from graph/graph/remember.rkt
rename to graph-lib/graph/remember.rkt
diff --git a/graph/graph/rewrite-type.lp2.rkt b/graph-lib/graph/rewrite-type.lp2.rkt
similarity index 100%
rename from graph/graph/rewrite-type.lp2.rkt
rename to graph-lib/graph/rewrite-type.lp2.rkt
diff --git a/graph/graph/structure.lp2.rkt b/graph-lib/graph/structure.lp2.rkt
similarity index 100%
rename from graph/graph/structure.lp2.rkt
rename to graph-lib/graph/structure.lp2.rkt
diff --git a/graph/graph/type-system.scrbl b/graph-lib/graph/type-system.scrbl
similarity index 100%
rename from graph/graph/type-system.scrbl
rename to graph-lib/graph/type-system.scrbl
diff --git a/graph/graph/variant.lp2.rkt b/graph-lib/graph/variant.lp2.rkt
similarity index 100%
rename from graph/graph/variant.lp2.rkt
rename to graph-lib/graph/variant.lp2.rkt
diff --git a/graph/lib/__DEBUG__.rkt b/graph-lib/lib/__DEBUG__.rkt
similarity index 100%
rename from graph/lib/__DEBUG__.rkt
rename to graph-lib/lib/__DEBUG__.rkt
diff --git a/graph/lib/doc.rkt b/graph-lib/lib/doc.rkt
similarity index 100%
rename from graph/lib/doc.rkt
rename to graph-lib/lib/doc.rkt
diff --git a/graph/lib/doc/MathJax b/graph-lib/lib/doc/MathJax
similarity index 100%
rename from graph/lib/doc/MathJax
rename to graph-lib/lib/doc/MathJax
diff --git a/graph/lib/doc/bracket b/graph-lib/lib/doc/bracket
similarity index 100%
rename from graph/lib/doc/bracket
rename to graph-lib/lib/doc/bracket
diff --git a/graph/lib/doc/example.lp2.rkt b/graph-lib/lib/doc/example.lp2.rkt
similarity index 100%
rename from graph/lib/doc/example.lp2.rkt
rename to graph-lib/lib/doc/example.lp2.rkt
diff --git a/graph/lib/doc/math-scribble b/graph-lib/lib/doc/math-scribble
similarity index 100%
rename from graph/lib/doc/math-scribble
rename to graph-lib/lib/doc/math-scribble
diff --git a/graph/lib/doc/math.rkt b/graph-lib/lib/doc/math.rkt
similarity index 100%
rename from graph/lib/doc/math.rkt
rename to graph-lib/lib/doc/math.rkt
diff --git a/graph/lib/doc/template.lp2.rkt b/graph-lib/lib/doc/template.lp2.rkt
similarity index 100%
rename from graph/lib/doc/template.lp2.rkt
rename to graph-lib/lib/doc/template.lp2.rkt
diff --git a/graph/lib/eval-get-values.rkt b/graph-lib/lib/eval-get-values.rkt
similarity index 100%
rename from graph/lib/eval-get-values.rkt
rename to graph-lib/lib/eval-get-values.rkt
diff --git a/graph/lib/lib.rkt b/graph-lib/lib/lib.rkt
similarity index 100%
rename from graph/lib/lib.rkt
rename to graph-lib/lib/lib.rkt
diff --git a/graph/lib/low-untyped.rkt b/graph-lib/lib/low-untyped.rkt
similarity index 100%
rename from graph/lib/low-untyped.rkt
rename to graph-lib/lib/low-untyped.rkt
diff --git a/graph/lib/low.rkt b/graph-lib/lib/low.rkt
similarity index 100%
rename from graph/lib/low.rkt
rename to graph-lib/lib/low.rkt
diff --git a/graph/lib/low/multiassoc-syntax.rkt b/graph-lib/lib/low/multiassoc-syntax.rkt
similarity index 100%
rename from graph/lib/low/multiassoc-syntax.rkt
rename to graph-lib/lib/low/multiassoc-syntax.rkt
diff --git a/graph/lib/path.rkt b/graph-lib/lib/path.rkt
similarity index 100%
rename from graph/lib/path.rkt
rename to graph-lib/lib/path.rkt
diff --git a/graph/lib/sequences.rkt b/graph-lib/lib/sequences.rkt
similarity index 100%
rename from graph/lib/sequences.rkt
rename to graph-lib/lib/sequences.rkt
diff --git a/graph/lib/syntax/quasitemplate.rkt b/graph-lib/lib/syntax/quasitemplate.rkt
similarity index 100%
rename from graph/lib/syntax/quasitemplate.rkt
rename to graph-lib/lib/syntax/quasitemplate.rkt
diff --git a/graph/lib/test-framework.rkt b/graph-lib/lib/test-framework.rkt
similarity index 100%
rename from graph/lib/test-framework.rkt
rename to graph-lib/lib/test-framework.rkt
diff --git a/graph/lib/untyped.rkt b/graph-lib/lib/untyped.rkt
similarity index 100%
rename from graph/lib/untyped.rkt
rename to graph-lib/lib/untyped.rkt
diff --git a/graph/lib/untyped/for-star-list-star.rkt b/graph-lib/lib/untyped/for-star-list-star.rkt
similarity index 100%
rename from graph/lib/untyped/for-star-list-star.rkt
rename to graph-lib/lib/untyped/for-star-list-star.rkt
diff --git a/graph/main.rkt b/graph-lib/main.rkt
similarity index 100%
rename from graph/main.rkt
rename to graph-lib/main.rkt
diff --git a/graph/make/.gitignore b/graph-lib/make/.gitignore
similarity index 100%
rename from graph/make/.gitignore
rename to graph-lib/make/.gitignore
diff --git a/graph/make/lib.rkt b/graph-lib/make/lib.rkt
similarity index 100%
rename from graph/make/lib.rkt
rename to graph-lib/make/lib.rkt
diff --git a/graph/make/make.rkt b/graph-lib/make/make.rkt
similarity index 100%
rename from graph/make/make.rkt
rename to graph-lib/make/make.rkt
diff --git a/graph/type-expander/multi-id.lp2.rkt b/graph-lib/type-expander/multi-id.lp2.rkt
similarity index 100%
rename from graph/type-expander/multi-id.lp2.rkt
rename to graph-lib/type-expander/multi-id.lp2.rkt
diff --git a/graph/type-expander/type-expander.lp2.rkt b/graph-lib/type-expander/type-expander.lp2.rkt
similarity index 100%
rename from graph/type-expander/type-expander.lp2.rkt
rename to graph-lib/type-expander/type-expander.lp2.rkt