diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000000000000000000000000000000000000..88d92cd750bec5c6bf7fa2e19c8db9c1036a6899
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,12 @@
+[submodule "tonality-client"]
+	path = tonality-client
+	url = https://github.com/noelsimbolon/tonality-client.git
+[submodule "tonality-plain"]
+	path = tonality-plain
+	url = https://github.com/noelsimbolon/tonality-plain.git
+[submodule "tonality-rest"]
+	path = tonality-rest
+	url = https://github.com/noelsimbolon/tonality-rest.git
+[submodule "tonality-soap"]
+	path = tonality-soap
+	url = https://github.com/noelsimbolon/tonality-soap.git
diff --git a/tonality-client b/tonality-client
new file mode 160000
index 0000000000000000000000000000000000000000..dc88ffff560aa627283c0202f77ee07faabf7114
--- /dev/null
+++ b/tonality-client
@@ -0,0 +1 @@
+Subproject commit dc88ffff560aa627283c0202f77ee07faabf7114
diff --git a/tonality-plain b/tonality-plain
new file mode 160000
index 0000000000000000000000000000000000000000..7d3175a5f64e0574f3b1802dbda4a6326c3246c7
--- /dev/null
+++ b/tonality-plain
@@ -0,0 +1 @@
+Subproject commit 7d3175a5f64e0574f3b1802dbda4a6326c3246c7
diff --git a/tonality-rest b/tonality-rest
new file mode 160000
index 0000000000000000000000000000000000000000..b7cb7b7e6335531e28a9755f3610bb6621493502
--- /dev/null
+++ b/tonality-rest
@@ -0,0 +1 @@
+Subproject commit b7cb7b7e6335531e28a9755f3610bb6621493502
diff --git a/tonality-soap b/tonality-soap
new file mode 160000
index 0000000000000000000000000000000000000000..c3a67a6d3536797c174b1871cfe59e6497f0d808
--- /dev/null
+++ b/tonality-soap
@@ -0,0 +1 @@
+Subproject commit c3a67a6d3536797c174b1871cfe59e6497f0d808