diff --git a/javafx-template/.project b/javafx-template/.project
new file mode 100644
index 0000000000000000000000000000000000000000..bfbdadfe2564d0111af51232fc9e91f56302c325
--- /dev/null
+++ b/javafx-template/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>javafx-template</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+	<filteredResources>
+		<filter>
+			<id>1631170920238</id>
+			<name></name>
+			<type>30</type>
+			<matcher>
+				<id>org.eclipse.core.resources.regexFilterMatcher</id>
+				<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
+</projectDescription>
diff --git a/javafx-template/bin/.project b/javafx-template/bin/.project
new file mode 100644
index 0000000000000000000000000000000000000000..bfbdadfe2564d0111af51232fc9e91f56302c325
--- /dev/null
+++ b/javafx-template/bin/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>javafx-template</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+	<filteredResources>
+		<filter>
+			<id>1631170920238</id>
+			<name></name>
+			<type>30</type>
+			<matcher>
+				<id>org.eclipse.core.resources.regexFilterMatcher</id>
+				<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
+</projectDescription>
diff --git a/modules-template/.project b/modules-template/.project
new file mode 100644
index 0000000000000000000000000000000000000000..8f9907a612dd6e6dd9e9efc0aa2eaf76a52c89c3
--- /dev/null
+++ b/modules-template/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>modules-template</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+	<filteredResources>
+		<filter>
+			<id>1631170920292</id>
+			<name></name>
+			<type>30</type>
+			<matcher>
+				<id>org.eclipse.core.resources.regexFilterMatcher</id>
+				<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
+</projectDescription>
diff --git a/packages-template/.project b/packages-template/.project
new file mode 100644
index 0000000000000000000000000000000000000000..664d10d158ee9f087f19e95812922414ade380c9
--- /dev/null
+++ b/packages-template/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>packages-template</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+	<filteredResources>
+		<filter>
+			<id>1631170920315</id>
+			<name></name>
+			<type>30</type>
+			<matcher>
+				<id>org.eclipse.core.resources.regexFilterMatcher</id>
+				<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
+</projectDescription>
diff --git a/simeonc-calc/pom.xml b/simeonc-calc/pom.xml
index 3488ad50105d23ee0bbc4ff19a52af0ea758c26f..6d3fe156af18a944e3f5d03ab5011cb1a7d2b7ab 100644
--- a/simeonc-calc/pom.xml
+++ b/simeonc-calc/pom.xml
@@ -83,7 +83,7 @@
 		        <version>3.0.0-M5</version>
                 <configuration>
                     <argLine>
-                    --add-opens app/app=ALL-UNNAMED --add-exports javafx.graphics/com.sun.javafx.application=ALL-UNNAMED
+                    --add-opens simeonc.calc/simeonc.calc=ALL-UNNAMED --add-exports javafx.graphics/com.sun.javafx.application=ALL-UNNAMED
                     </argLine>
                 </configuration>
 	        </plugin>
@@ -95,7 +95,7 @@
                 <!-- Default configuration for running -->
                 <!-- Usage: mvn javafx:run -->
                 <configuration>
-                    <mainClass>app.App</mainClass>
+                    <mainClass>simeonc.calc.CalcApp</mainClass>
                 </configuration>
             </plugin>
         </plugins>
diff --git a/simeonc-calc/src/main/java/module-info.java b/simeonc-calc/src/main/java/module-info.java
index 7630870522ffb64f5d51f1f283e57b219aa21809..e2c3169e8ee2e4a24ebeddc03e929af61ff6c2c6 100644
--- a/simeonc-calc/src/main/java/module-info.java
+++ b/simeonc-calc/src/main/java/module-info.java
@@ -1,6 +1,6 @@
-module app {
+module simeonc.calc {
     requires javafx.controls;
     requires javafx.fxml;
 
-    opens app to javafx.graphics, javafx.fxml;
+    opens simeonc.calc to javafx.graphics, javafx.fxml;
 }
diff --git a/simeonc-calc/src/main/java/app/Calc.java b/simeonc-calc/src/main/java/simeonc/calc/Calc.java
similarity index 99%
rename from simeonc-calc/src/main/java/app/Calc.java
rename to simeonc-calc/src/main/java/simeonc/calc/Calc.java
index eb59b2faf597513f8d806580cc03298090187429..eedbdfff108eb90fc5f122e82bb54b68ad8b0279 100644
--- a/simeonc-calc/src/main/java/app/Calc.java
+++ b/simeonc-calc/src/main/java/simeonc/calc/Calc.java
@@ -1,4 +1,4 @@
-package app;
+package simeonc.calc;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/simeonc-calc/src/main/java/app/CalcApp.java b/simeonc-calc/src/main/java/simeonc/calc/CalcApp.java
similarity index 96%
rename from simeonc-calc/src/main/java/app/CalcApp.java
rename to simeonc-calc/src/main/java/simeonc/calc/CalcApp.java
index cec1706c3a6a8dc4e321f3f91fcad8702a736e93..d7b875510eadf19657303fa85d8676e36c564748 100644
--- a/simeonc-calc/src/main/java/app/CalcApp.java
+++ b/simeonc-calc/src/main/java/simeonc/calc/CalcApp.java
@@ -1,4 +1,4 @@
-package app;
+package simeonc.calc;
 
 import javafx.application.Application;
 import javafx.fxml.FXMLLoader;
diff --git a/simeonc-calc/src/main/java/app/CalcController.java b/simeonc-calc/src/main/java/simeonc/calc/CalcController.java
similarity index 99%
rename from simeonc-calc/src/main/java/app/CalcController.java
rename to simeonc-calc/src/main/java/simeonc/calc/CalcController.java
index 1f589575a4549fb6f1dd10af97cc6056ef37f6da..3488dbb276e71956f5a4dfed036ec18c8aba046f 100644
--- a/simeonc-calc/src/main/java/app/CalcController.java
+++ b/simeonc-calc/src/main/java/simeonc/calc/CalcController.java
@@ -1,4 +1,4 @@
-package app;
+package simeonc.calc;
 
 import java.util.List;
 import java.util.function.BinaryOperator;
diff --git a/simeonc-calc/src/main/resources/app/Calc.fxml b/simeonc-calc/src/main/resources/simeonc/calc/Calc.fxml
similarity index 97%
rename from simeonc-calc/src/main/resources/app/Calc.fxml
rename to simeonc-calc/src/main/resources/simeonc/calc/Calc.fxml
index 42b3b8288b33290cc97b52630421b761a235223c..4a0529920e86c35bb4cab55678d471a3cc19e108 100644
--- a/simeonc-calc/src/main/resources/app/Calc.fxml
+++ b/simeonc-calc/src/main/resources/simeonc/calc/Calc.fxml
@@ -5,7 +5,7 @@
 <?import javafx.scene.control.Button?>
 <?import javafx.scene.control.ListView?>
 
-<GridPane xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="app.CalcController"
+<GridPane xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="simeonc.calc.CalcController"
          alignment="CENTER" hgap="10.0" vgap="10.0" >
 
    <ListView fx:id="operandsView" prefHeight="80.0"
diff --git a/simeonc-calc/src/test/java/app/AppTest.java b/simeonc-calc/src/test/java/simeonc/calc/AppTest.java
similarity index 99%
rename from simeonc-calc/src/test/java/app/AppTest.java
rename to simeonc-calc/src/test/java/simeonc/calc/AppTest.java
index 73f81004dad8327a31ec23d861aeea9777ec39fb..fe554543d1c03a4ae7bdbbe6beebe45e1596e7a6 100644
--- a/simeonc-calc/src/test/java/app/AppTest.java
+++ b/simeonc-calc/src/test/java/simeonc/calc/AppTest.java
@@ -1,4 +1,4 @@
-package app;
+package simeonc.calc;
 
 import javafx.fxml.FXMLLoader;
 import javafx.scene.Parent;
diff --git a/simeonc-calc/src/test/java/app/CalcTest.java b/simeonc-calc/src/test/java/simeonc/calc/CalcTest.java
similarity index 99%
rename from simeonc-calc/src/test/java/app/CalcTest.java
rename to simeonc-calc/src/test/java/simeonc/calc/CalcTest.java
index 150778d7a4ae829cbe155aeff824f279b2192294..33501be3c7f26e6ef37d2c393bec09e081de2fc0 100644
--- a/simeonc-calc/src/test/java/app/CalcTest.java
+++ b/simeonc-calc/src/test/java/simeonc/calc/CalcTest.java
@@ -1,4 +1,4 @@
-package app;
+package simeonc.calc;
 
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git a/simeonc-calc/src/test/java/app/README.md b/simeonc-calc/src/test/java/simeonc/calc/README.md
similarity index 100%
rename from simeonc-calc/src/test/java/app/README.md
rename to simeonc-calc/src/test/java/simeonc/calc/README.md