diff --git a/.gitignore b/.gitignore
index c57b3f93f..6e6479952 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,6 +12,8 @@ release.properties
src/test/db/
/sqlg-hsqldb-parent/sqlg-hsqldb/src/test/db/
/sqlg-benchmark-hsqldb/src/test/db/
+/sqlg-h2-parent/sqlg-h2/src/test/db/
+/sqlg-benchmark-h2/src/test/db/
### Eclipse files
**/.classpath
diff --git a/sqlg-core/src/main/model/sqlg_topology.notation b/sqlg-core/src/main/model/sqlg_topology.notation
index 6852c5e91..7c9c9fc63 100644
--- a/sqlg-core/src/main/model/sqlg_topology.notation
+++ b/sqlg-core/src/main/model/sqlg_topology.notation
@@ -997,7 +997,7 @@
-
+
@@ -1048,7 +1048,7 @@
-
+
@@ -1121,7 +1121,7 @@
-
+
@@ -1155,7 +1155,7 @@
-
+
@@ -1189,7 +1189,7 @@
-
+
@@ -1239,6 +1239,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1250,13 +1302,15 @@
-
+
+
-
+
+
@@ -1267,7 +1321,8 @@
name
derived
-
+
+
@@ -1278,25 +1333,28 @@
name
derived
-
+
+
-
+
+
-
+
+
-
-
+
+
@@ -1353,8 +1411,8 @@
-
-
+
+
@@ -1413,8 +1471,8 @@
-
-
+
+
@@ -1531,331 +1589,1031 @@
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
multiplicity
name
derived
-
+
+
-
-
-
+
+
multiplicity
name
derived
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
-
-
-
+
+
-
-
+
+
multiplicity
name
derived
-
-
+
-
-
+
+
multiplicity
name
derived
-
-
+
-
-
-
+
+
-
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
multiplicity
name
derived
-
+
+
-
-
-
+
+
multiplicity
name
derived
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
+
+
+ multiplicity
+ name
+ derived
+
+
+
-
-
-
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
multiplicity
name
derived
-
+
-
-
-
+
+
+
multiplicity
name
derived
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
-
-
-
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
multiplicity
name
derived
-
+
-
-
-
+
+
+
multiplicity
name
derived
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
multiplicity
name
derived
-
+
+
-
-
+
+
+
+
+
multiplicity
name
derived
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
multiplicity
name
derived
-
+
-
-
+
+
multiplicity
name
derived
-
+
-
-
+
+
-
-
+
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
multiplicity
name
derived
-
-
+
+
-
-
+
+
multiplicity
name
derived
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+ multiplicity
+ name
+ derived
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sqlg-core/src/main/model/sqlg_topology.uml b/sqlg-core/src/main/model/sqlg_topology.uml
index b1f262f61..b000b00f9 100644
--- a/sqlg-core/src/main/model/sqlg_topology.uml
+++ b/sqlg-core/src/main/model/sqlg_topology.uml
@@ -55,14 +55,9 @@ There will be 2 entries in 'EdgeLabel'