diff --git a/buildConfig/start.bat b/buildConfig/start.bat
index f3b813db08707f5b8e758e910c735e5cdabd1c92..c882602a0e923897b708aeca3598487dc4926162 100644
--- a/buildConfig/start.bat
+++ b/buildConfig/start.bat
@@ -1 +1 @@
-java -jar ${project.artifactId}-${project.version}.jar
\ No newline at end of file
+java --module-path . -m eu.simstadt.regionchooser/eu.simstadt.regionchooser.RegionChooserFX
\ No newline at end of file
diff --git a/buildConfig/start.sh b/buildConfig/start.sh
index 6d5986c50c16333f691d77fe7e48c5732e78d82c..8b7cc25b33a123d9e1f48a0712e6b6aeb343c7e9 100644
--- a/buildConfig/start.sh
+++ b/buildConfig/start.sh
@@ -1,2 +1,2 @@
 #!/bin/bash
-java -jar ${project.artifactId}-${project.version}.jar
\ No newline at end of file
+java --module-path . -m eu.simstadt.regionchooser/eu.simstadt.regionchooser.RegionChooserFX
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index a17e7ea309f05b3389f0c850f653a33de8ad34cf..c4a3cc50fa725f30a29a3f65ee2d1f3a54e30ac7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,10 +5,30 @@
 	<groupId>eu.simstadt</groupId>
 	<artifactId>RegionChooser</artifactId>
 	<version>0.2.0-SNAPSHOT</version>
+	
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<maven.compiler.release>11</maven.compiler.release>
+		<javafx.version>11.0.2</javafx.version>
 	</properties>
+	
 	<dependencies>
+		<dependency>
+			<groupId>org.openjfx</groupId>
+			<artifactId>javafx-controls</artifactId>
+			<version>${javafx.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.openjfx</groupId>
+			<artifactId>javafx-fxml</artifactId>
+			<version>${javafx.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.openjfx</groupId>
+			<artifactId>javafx-web</artifactId>
+			<version>${javafx.version}</version>
+		</dependency>
+	
 		<!-- https://mvnrepository.com/artifact/junit/junit -->
 		<dependency>
 			<groupId>junit</groupId>
@@ -48,7 +68,7 @@
 							<goal>copy-dependencies</goal>
 						</goals>
 						<configuration>
-							<outputDirectory>${project.build.directory}/libs</outputDirectory>
+							<outputDirectory>${project.build.directory}</outputDirectory>
 						</configuration>
 					</execution>
 				</executions>
@@ -76,27 +96,22 @@
 						</goals>
 					</execution>
 				</executions>
-			</plugin>
+			</plugin>			
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-jar-plugin</artifactId>
-				<version>3.2.0</version>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>3.8.1</version>
 				<configuration>
-					<archive>
-						<manifest>
-							<addClasspath>true</addClasspath>
-							<classpathPrefix>libs/</classpathPrefix>
-							<mainClass>eu.simstadt.regionchooser.RegionChooserFX</mainClass>
-						</manifest>
-					</archive>
+					<release>${maven.compiler.release}</release>
 				</configuration>
 			</plugin>
 			<plugin>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<version>3.8.0</version>
+				<groupId>org.openjfx</groupId>
+				<artifactId>javafx-maven-plugin</artifactId>
+				<version>0.0.3</version>
 				<configuration>
-					<source>1.8</source>
-					<target>1.8</target>
+					<release>${maven.compiler.release}</release>
+					<mainClass>eu.simstadt.regionchooser/eu.simstadt.regionchooser.RegionChooserFX</mainClass>
 				</configuration>
 			</plugin>
 			<plugin>
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..c3c014b2cdda6201c17668e6eca1b4770ffc7a38
--- /dev/null
+++ b/src/main/java/module-info.java
@@ -0,0 +1,14 @@
+module eu.simstadt.regionchooser
+{
+	exports eu.simstadt.regionchooser;
+
+	requires java.logging;
+	requires java.prefs;
+	requires javafx.base;
+	requires javafx.graphics;
+	requires javafx.web;
+	requires jdk.jsobject;
+	requires org.locationtech.jts;
+	requires proj4j;
+	requires vtd.xml;
+}
\ No newline at end of file