diff --git a/.gitmodules b/.gitmodules
index fd02da4a7d8ee075ead5252101b19badf6e2d905..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +0,0 @@
-[submodule "relast.preprocessor"]
-	path = relast.preprocessor
-	url = ../relast-preprocessor.git
-	branch = develop
diff --git a/grammar2uml/build.gradle b/grammar2uml/build.gradle
index 1c54c915dc2a599ba9cad11bc2a265409833416a..fcef1771424f89517e2eb6fa100921f237e5b747 100644
--- a/grammar2uml/build.gradle
+++ b/grammar2uml/build.gradle
@@ -82,7 +82,6 @@ task relast(type: JavaExec) {
     }
 
     args = [
-            "../libs/relast.jar",
             "${extractLocation}/RelAst.relast",
             "${extractLocation}/mustache/Mustache.relast",
             './src/main/jastadd/Grammar2Uml.relast',
diff --git a/grammar2uml/src/main/java/de/tudresden/inf/st/jastadd/grammar2uml/compiler/Grammar2UmlMain.java b/grammar2uml/src/main/java/de/tudresden/inf/st/jastadd/grammar2uml/compiler/Grammar2UmlMain.java
index e552d5548514363c535a2943ac97a1f35788bd8d..17b105cb5454855da16a993e85896f88f28518b1 100644
--- a/grammar2uml/src/main/java/de/tudresden/inf/st/jastadd/grammar2uml/compiler/Grammar2UmlMain.java
+++ b/grammar2uml/src/main/java/de/tudresden/inf/st/jastadd/grammar2uml/compiler/Grammar2UmlMain.java
@@ -24,7 +24,6 @@ public class Grammar2UmlMain {
   }
 
   public static Grammar2Uml createManualAST() {
-    System.setProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager");
     System.setProperty("mustache.debug", "true");
     Grammar2Uml model = new Grammar2Uml();
     Path path = Paths.get("grammar2uml.base", "src", "test", "resources", "Example.relast");
diff --git a/grammar2uml/src/main/resources/log4j2.xml b/grammar2uml/src/main/resources/log4j2.xml
deleted file mode 100644
index 98cfd73c75df58d8598521bc10b043e214ec4ad8..0000000000000000000000000000000000000000
--- a/grammar2uml/src/main/resources/log4j2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Configuration status="INFO">
-    <Appenders>
-        <Console name="Console" target="SYSTEM_OUT">
-            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
-        </Console>
-    </Appenders>
-    <Loggers>
-        <Root level="info">
-            <AppenderRef ref="Console"/>
-        </Root>
-    </Loggers>
-</Configuration>
\ No newline at end of file
diff --git a/libs/relast.jar b/libs/relast.jar
deleted file mode 100644
index f71563319c89f149ab48a7f4d20bc4f663dafe9b..0000000000000000000000000000000000000000
Binary files a/libs/relast.jar and /dev/null differ
diff --git a/pages/docs/adding.md b/pages/docs/adding.md
index e4c2a47a00e190a7e4beb032414c010311ca6cd3..4fbae9782363a4b203247c4f575150aac75bfa90 100644
--- a/pages/docs/adding.md
+++ b/pages/docs/adding.md
@@ -1,55 +1,67 @@
 # Add grammar2uml to your project
 
-To use `Grammar2uml`, add it as a dependency:
+To use `Grammar2uml`, adjust your `build.gradle` as follows.
+
+Set up the maven package source as repository:
+
+```gradle
+repositories {
+    mavenCentral()
+    maven {
+        name 'gitlab-maven'
+        url 'https://git-st.inf.tu-dresden.de/api/v4/groups/jastadd/-/packages/maven'
+    }
+}
+```
+
+Add `Grammar2uml` as a dependency:
 
 ```
 configurations {
-    grammar2umlClasspath
+    grammar2uml
 }
 
 dependencies {
-    grammar2umlClasspath group: 'de.tudresden.inf.st', name: 'grammar2uml', version: '0.2.1'
+    grammar2uml group: 'de.tudresden.inf.st', name: 'grammar2uml', version: '0.2.2'
 }
 ```
 
-Then, add a task to create your visualization:
+Add a task to create your visualization:
 
 ```
 task grammar2uml(type: JavaExec) {
-    main = 'de.tudresden.inf.st.jastadd.grammar2uml.compiler.Compiler'
-    classpath = configurations.grammar2umlClasspath
-
-    args([
-            '--verbose',
-            '--defaultFolders',
-            'src/main/jastadd/YourGrammar.relast'
-    ])
+    group = 'Documentation'
+    classpath = configurations.grammar2uml
+
+    args '--output=YourOutput.png', '--defaultFolders'
+    args 'src/main/jastadd/YourGrammar.relast'
 }
 ```
 
-## Build from source
+## Build from source (not recommended)
 
-If you want to build `Grammar2Uml` from source, first build the jar from the [repository](https://git-st.inf.tu-dresden.de/jastadd/grammar2uml):
+If you want to build `Grammar2Uml` from source, first build the fat-jar from the [repository](https://git-st.inf.tu-dresden.de/jastadd/grammar2uml).
+The normal jar does not suffice, as it lacks the information on needed dependencies.
 
 ```bash
 git clone https://git-st.inf.tu-dresden.de/jastadd/grammar2uml.git
 cd grammar2uml
-./gradlew jar
+./gradlew fatJar
 ls grammar2uml/build/libs/
 ```
 
-Those JARs can then be copied to your project.
+This jar can then be copied to your project.
 
 ```bash
-cp grammar2uml/build/libs/grammar2uml-<version>.jar ${YourProject}/libs/grammar2uml.jar
+cp grammar2uml/build/libs/grammar2uml-fatjar-<version>.jar ${YourProject}/libs/grammar2uml.jar
 ```
 
-Finally, this JAR has to be integrated into your build process. In case [Gradle](https://gradle.org/) is used, the JAR file needs to be added as dependency using:
+Finally, this jar has to be integrated into your build process. In case [Gradle](https://gradle.org/) is used, the jar file needs to be added as dependency using:
 
 ```groovy
 dependencies {
-    grammar2umlClasspath fileTree(include: ['grammar2uml.jar'], dir: 'libs')
+    grammar2uml fileTree(include: ['grammar2uml.jar'], dir: 'libs')
 }
 ```
 
-The path to the JAR file may need to be changed according to your project structure.
+The path to the jar file may need to be changed according to your project structure.
diff --git a/pages/main.py b/pages/main.py
index f9095a8a013f722eb25099ad1d91605f800c4e59..65159d5d8e839279ebf4b0fcb0c529de2f1d07d2 100644
--- a/pages/main.py
+++ b/pages/main.py
@@ -4,8 +4,6 @@ grammar2umlVersionFileName = '../grammar2uml/src/main/resources/grammar2umlVersi
 
 
 def get_version():
-    if os.environ.get('CI_COMMIT_BRANCH', 'unknown') == 'dev':
-        return 'dev'
     with open(grammar2umlVersionFileName) as grammar2umlVersionFile:
         versionFileContent = grammar2umlVersionFile.read()
     return versionFileContent[versionFileContent.rindex('version=') + 8:].strip()
diff --git a/relast.preprocessor b/relast.preprocessor
deleted file mode 160000
index cee30f5c8a1b356118f5ed78302a1df64fe76897..0000000000000000000000000000000000000000
--- a/relast.preprocessor
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit cee30f5c8a1b356118f5ed78302a1df64fe76897