diff --git a/.gitignore b/.gitignore
index e8bcb90b9..9aadc1a3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,15 +1,18 @@
-classes_gen
-source_gen
-source_gen.caches
-test_gen.caches
-workspace.xml
-artifacts
-tmp
+classes_gen/
+source_gen/
+source_gen.caches/
+test_gen/
+test_gen.caches/
+
+**/.mps/workspace.xml
+
+/artifacts/
+/tmp/
+
.gradle/
-build/generated/
-build/mps/
+
/build/
-test_gen/
+
site
.DS_Store
.gradletasknamecache
@@ -21,11 +24,12 @@ site
markdown-navigator**
model-api/build
code/model-api/org.modelix.model.api/lib
-scripts/.mps-caches
-.idea/modules
+.mps-caches/
# Generated during the build
/kotlin-js-store/
# Generated by statistics plugin
code/dependencies.txt
+.idea/
+*.iml
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
deleted file mode 100644
index 49f7b87ba..000000000
--- a/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 100644
index a55e7a179..000000000
--- a/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index f8ad9df80..000000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml
deleted file mode 100644
index 9981730c9..000000000
--- a/.idea/dbnavigator.xml
+++ /dev/null
@@ -1,467 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
deleted file mode 100644
index 9dba9c4a6..000000000
--- a/.idea/gradle.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
deleted file mode 100644
index fb834ed84..000000000
--- a/.idea/jarRepositories.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries-with-intellij-classes.xml b/.idea/libraries-with-intellij-classes.xml
deleted file mode 100644
index 9fa31567f..000000000
--- a/.idea/libraries-with-intellij-classes.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__junit_junit_4_12.xml b/.idea/libraries/Gradle__junit_junit_4_12.xml
deleted file mode 100644
index 8609c6054..000000000
--- a/.idea/libraries/Gradle__junit_junit_4_12.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__log4j_log4j_1_2_17.xml b/.idea/libraries/Gradle__log4j_log4j_1_2_17.xml
deleted file mode 100644
index 07be0a37e..000000000
--- a/.idea/libraries/Gradle__log4j_log4j_1_2_17.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml
deleted file mode 100644
index 8262f729c..000000000
--- a/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml b/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml
deleted file mode 100644
index 4f32fdef2..000000000
--- a/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_31.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_31.xml
deleted file mode 100644
index 2c6587f37..000000000
--- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_31.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_31.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_31.xml
deleted file mode 100644
index b088dcb93..000000000
--- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_31.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_31.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_31.xml
deleted file mode 100644
index 7cf25c6c4..000000000
--- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_31.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_4_31.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_4_31.xml
deleted file mode 100644
index d72961da6..000000000
--- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_4_31.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_4_31.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_4_31.xml
deleted file mode 100644
index a7a2f66df..000000000
--- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_4_31.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_1_4_31.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_1_4_31.xml
deleted file mode 100644
index e100e9bf9..000000000
--- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_1_4_31.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_annotations_common_1_4_31.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_annotations_common_1_4_31.xml
deleted file mode 100644
index f3441ab69..000000000
--- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_annotations_common_1_4_31.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_common_1_4_31.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_common_1_4_31.xml
deleted file mode 100644
index e25bca594..000000000
--- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_common_1_4_31.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_js_1_4_31.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_js_1_4_31.xml
deleted file mode 100644
index 98d96ca61..000000000
--- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_js_1_4_31.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_junit_1_4_31.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_junit_1_4_31.xml
deleted file mode 100644
index 5583afae1..000000000
--- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_test_junit_1_4_31.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 44ae3bdbc..000000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 6cf6e7870..000000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/model-api/MPS-extensions.model-api.commonMain.iml b/.idea/modules/model-api/MPS-extensions.model-api.commonMain.iml
deleted file mode 100644
index fd09dc296..000000000
--- a/.idea/modules/model-api/MPS-extensions.model-api.commonMain.iml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
- SOURCE_SET_HOLDER
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/model-api/MPS-extensions.model-api.commonTest.iml b/.idea/modules/model-api/MPS-extensions.model-api.commonTest.iml
deleted file mode 100644
index 4de69fedf..000000000
--- a/.idea/modules/model-api/MPS-extensions.model-api.commonTest.iml
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
- SOURCE_SET_HOLDER
-
- jsNodeTest|:model-api:jsTest|js
- jvmTest|:model-api:jvmTest|jvm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/model-api/MPS-extensions.model-api.iml b/.idea/modules/model-api/MPS-extensions.model-api.iml
deleted file mode 100644
index 531e42431..000000000
--- a/.idea/modules/model-api/MPS-extensions.model-api.iml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/model-api/MPS-extensions.model-api.jsMain.iml b/.idea/modules/model-api/MPS-extensions.model-api.jsMain.iml
deleted file mode 100644
index bf555bb30..000000000
--- a/.idea/modules/model-api/MPS-extensions.model-api.jsMain.iml
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
- :model-api:commonMain
-
- MPS-extensions.model-api.commonMain
-
- COMPILATION_AND_SOURCE_SET_HOLDER
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/model-api/MPS-extensions.model-api.jsTest.iml b/.idea/modules/model-api/MPS-extensions.model-api.jsTest.iml
deleted file mode 100644
index 3f159af14..000000000
--- a/.idea/modules/model-api/MPS-extensions.model-api.jsTest.iml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
- :model-api:commonTest
-
- MPS-extensions.model-api.commonTest
- MPS-extensions.model-api.jsMain
- MPS-extensions.model-api.commonMain
-
- COMPILATION_AND_SOURCE_SET_HOLDER
-
- jsNodeTest|:model-api:jsTest|js
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/model-api/MPS-extensions.model-api.jvmMain.iml b/.idea/modules/model-api/MPS-extensions.model-api.jvmMain.iml
deleted file mode 100644
index 4408e4d22..000000000
--- a/.idea/modules/model-api/MPS-extensions.model-api.jvmMain.iml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
- :model-api:commonMain
-
- MPS-extensions.model-api.commonMain
-
- COMPILATION_AND_SOURCE_SET_HOLDER
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/model-api/MPS-extensions.model-api.jvmTest.iml b/.idea/modules/model-api/MPS-extensions.model-api.jvmTest.iml
deleted file mode 100644
index bd84c2576..000000000
--- a/.idea/modules/model-api/MPS-extensions.model-api.jvmTest.iml
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
- :model-api:commonTest
-
- MPS-extensions.model-api.commonTest
- MPS-extensions.model-api.jvmMain
- MPS-extensions.model-api.commonMain
-
- COMPILATION_AND_SOURCE_SET_HOLDER
-
- jvmTest|:model-api:jvmTest|jvm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/model-api/MPS-extensions.model-api.main.iml b/.idea/modules/model-api/MPS-extensions.model-api.main.iml
deleted file mode 100644
index b13c2faf4..000000000
--- a/.idea/modules/model-api/MPS-extensions.model-api.main.iml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/model-api/MPS-extensions.model-api.test.iml b/.idea/modules/model-api/MPS-extensions.model-api.test.iml
deleted file mode 100644
index 1e75580f4..000000000
--- a/.idea/modules/model-api/MPS-extensions.model-api.test.iml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7f4..000000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/MPS-extensions.iml b/MPS-extensions.iml
deleted file mode 100644
index 30d35d402..000000000
--- a/MPS-extensions.iml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/code/.mps/.gitignore b/code/.mps/.gitignore
new file mode 100644
index 000000000..a04a0b6c1
--- /dev/null
+++ b/code/.mps/.gitignore
@@ -0,0 +1,2 @@
+workspace.xml
+product-workspace.xml
diff --git a/code/.mps/product-workspace.xml b/code/.mps/product-workspace.xml
deleted file mode 100644
index c57e5965f..000000000
--- a/code/.mps/product-workspace.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/.idea/docs.iml b/docs/.idea/docs.iml
deleted file mode 100644
index d6ebd4805..000000000
--- a/docs/.idea/docs.iml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file