diff --git a/Doxyfile b/Doxyfile
index 73a9738eaded24431efc377b98c0ea9cca3fcbce..59aaac42b7bcf097154c78b70dec215e6b8b111c 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -38,7 +38,7 @@ PROJECT_NAME           = spatial-data
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 1.0
+PROJECT_NUMBER         = 1.0.1
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
diff --git a/README.md b/README.md
index eca4894aae7584367151ae1f84268a6f97860f0a..569bfb8f07738b9989da624f6953e3b3e811b65e 100644
--- a/README.md
+++ b/README.md
@@ -12,11 +12,29 @@ $ git clone https://gitlab.utu.fi/tech/education/gui/spatial-data
 
 $ cd spatial-data
 
-$ mvn package
+$ mvn install
 ```
 
 ## Using
 
+First, add the library as a Maven dependency:
+
+```xml
+<project>
+    <properties>
+        <spatial.version>1.0.1</spatial.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>fi.utu.tech</groupId>
+            <artifactId>spatial-data</artifactId>
+            <version>${spatial.version}</version>
+        </dependency>
+    </dependencies>
+</project>
+```
+
 The unit test folders contains examples of use and the expected output of
 operations.
 
@@ -35,4 +53,4 @@ The maven script will also generate standard javadoc apidocs in target/apidocs.
 
 ## External links
 
-* https://en.wikipedia.org/wiki/R-tree
\ No newline at end of file
+* https://en.wikipedia.org/wiki/R-tree
diff --git a/pom.xml b/pom.xml
index 7ac45acda8e9f6e40e105ed6a3187f2eb0f40ada..b63e72171af3e8043d8d27cdf108251593cd6e1b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,24 +2,21 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
-    <!-- the three parts of the artifact name -->
     <groupId>fi.utu.tech</groupId>
     <artifactId>spatial-data</artifactId>
-    <version>1.0</version>
+    <version>1.0.2</version>
     
-    <!-- additional information about the project -->
     <name>Spatial data library</name>
-    <url>http://gitlab.utu.fi</url>
+    <url>https://gitlab.utu.fi/tech/education/gui/spatial-data</url>
     
     <packaging>jar</packaging>
 
-    <!-- HINT: More configuration here! -->
     <properties>
         <jdk.version>11</jdk.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <jqwik.version>1.2.0</jqwik.version>
-        <junit.version>5.5.2</junit.version>
-        <junitplatform.version>1.5.2</junitplatform.version>
+        <jqwik.version>1.3.0</jqwik.version>
+        <junit.version>5.6.2</junit.version>
+        <junitplatform.version>1.6.2</junitplatform.version>
     </properties>
     
     <repositories>
@@ -36,7 +33,6 @@
             <name>jcenter</name>
             <url>https://jcenter.bintray.com/</url>
         </repository>
-        <!-- UTU repository -->
         <repository>
             <id>ftdev</id>
             <name>ftdev</name>
@@ -74,19 +70,7 @@
             <artifactId>jqwik</artifactId>
             <version>${jqwik.version}</version>
             <scope>test</scope>
-        </dependency><!--
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter-migrationsupport</artifactId>
-            <version>${junit.version}</version>
-            <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.junit.platform</groupId>
-            <artifactId>junit-platform-runner</artifactId>
-            <version>${junitplatform.version}</version>
-            <scope>test</scope>
-        </dependency> -->
     </dependencies>
   
     <build>
@@ -96,7 +80,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
-                <version>3.1.2</version>
+                <version>3.2.0</version>
                 <configuration>
                   <!-- DO NOT include log4j.properties file in your Jar -->
                   <excludes>
@@ -105,17 +89,6 @@
                 </configuration>
             </plugin>
             
-            <!-- download source code in Eclipse, best practice -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-eclipse-plugin</artifactId>
-                <version>2.10</version>
-                <configuration>
-                    <downloadSources>true</downloadSources>
-                    <downloadJavadocs>false</downloadJavadocs>
-                </configuration>
-            </plugin>
-            
             <!-- JDK source/target versions -->
             <plugin>    
                 <groupId>org.apache.maven.plugins</groupId>
@@ -131,7 +104,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-source-plugin</artifactId>
-                <version>3.1.0</version>
+                <version>3.2.1</version>
                 <executions>
                     <execution>
                         <id>attach-sources</id>
@@ -145,7 +118,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.1.1</version>
+                <version>3.2.0</version>
                 <executions>
                     <execution>
                     <id>attach-javadocs</id>
@@ -164,11 +137,10 @@
             </plugin>
             
             <!-- JUnit & JQwik test integration -->
-            
             <plugin>
                 <groupId>de.sormuras.junit</groupId>
                 <artifactId>junit-platform-maven-plugin</artifactId>
-                <version>1.0.0-M5</version>
+                <version>1.1.0</version>
                 <extensions>true</extensions>
                 <configuration>
                     <executor>JAVA</executor>
@@ -178,15 +150,10 @@
         </plugins>
         <extensions>
             <!-- Enables the use of SSH for deployments -->
-            <extension>
-                <groupId>org.apache.maven.wagon</groupId>
-                <artifactId>wagon-ssh-external</artifactId>
-                <version>3.3.3</version>
-            </extension>
             <extension>
                 <groupId>org.apache.maven.wagon</groupId>
                 <artifactId>wagon-ssh</artifactId>
-                <version>3.3.3</version>
+                <version>3.4.1</version>
             </extension>
         </extensions>
     </build>
diff --git a/src/main/java/fi/utu/tech/graphics/Point.java b/src/main/java/fi/utu/tech/spatial/Point.java
similarity index 98%
rename from src/main/java/fi/utu/tech/graphics/Point.java
rename to src/main/java/fi/utu/tech/spatial/Point.java
index ff8e0ab27ff8bd6063aae6ae2b6501ccca0e1ff0..b135d0c1f097411c126fe4f453bce84b8d507d54 100644
--- a/src/main/java/fi/utu/tech/graphics/Point.java
+++ b/src/main/java/fi/utu/tech/spatial/Point.java
@@ -1,4 +1,4 @@
-package fi.utu.tech.graphics;
+package fi.utu.tech.spatial;
 
 import java.io.Serializable;
 import java.util.Objects;
diff --git a/src/main/java/fi/utu/tech/graphics/Point2D.java b/src/main/java/fi/utu/tech/spatial/Point2D.java
similarity index 98%
rename from src/main/java/fi/utu/tech/graphics/Point2D.java
rename to src/main/java/fi/utu/tech/spatial/Point2D.java
index ed70ec435c43abdc83d62581d115c303ad0b75ae..6a1d10792386334e838e12906fb0c23f573a275b 100644
--- a/src/main/java/fi/utu/tech/graphics/Point2D.java
+++ b/src/main/java/fi/utu/tech/spatial/Point2D.java
@@ -1,4 +1,4 @@
-package fi.utu.tech.graphics;
+package fi.utu.tech.spatial;
 
 import java.io.Serializable;
 import java.util.Objects;
diff --git a/src/main/java/fi/utu/tech/graphics/Rect.java b/src/main/java/fi/utu/tech/spatial/Rect.java
similarity index 96%
rename from src/main/java/fi/utu/tech/graphics/Rect.java
rename to src/main/java/fi/utu/tech/spatial/Rect.java
index 3588de5d74c9424499eed5155ff08365dd5f61db..1e1ab7e96d1bf421b808e125e8b2d5d9ad0d3b2a 100644
--- a/src/main/java/fi/utu/tech/graphics/Rect.java
+++ b/src/main/java/fi/utu/tech/spatial/Rect.java
@@ -1,4 +1,4 @@
-package fi.utu.tech.graphics;
+package fi.utu.tech.spatial;
 
 import java.util.Objects;
 
diff --git a/src/main/java/fi/utu/tech/graphics/Region.java b/src/main/java/fi/utu/tech/spatial/Region.java
similarity index 99%
rename from src/main/java/fi/utu/tech/graphics/Region.java
rename to src/main/java/fi/utu/tech/spatial/Region.java
index 1218f110773e6718bb77c746d97dbc02d6252fac..0987f72e1ed6ea8a2c89750b2a6bd253b718d4d4 100644
--- a/src/main/java/fi/utu/tech/graphics/Region.java
+++ b/src/main/java/fi/utu/tech/spatial/Region.java
@@ -1,4 +1,4 @@
-package fi.utu.tech.graphics;
+package fi.utu.tech.spatial;
 
 import java.io.Serializable;
 import java.util.Collection;
diff --git a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Leaf.java b/src/main/java/fi/utu/tech/spatial/rtree/Leaf.java
similarity index 93%
rename from src/main/java/fi/utu/tech/graphics/spatial/rtree/Leaf.java
rename to src/main/java/fi/utu/tech/spatial/rtree/Leaf.java
index 1efc922f0d01b5d676c1b0d0c408815a60c48279..43e1106567165016bf990915387da3b149344a20 100644
--- a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Leaf.java
+++ b/src/main/java/fi/utu/tech/spatial/rtree/Leaf.java
@@ -1,6 +1,6 @@
-package fi.utu.tech.graphics.spatial.rtree;
+package fi.utu.tech.spatial.rtree;
 
-import fi.utu.tech.graphics.Region;
+import fi.utu.tech.spatial.Region;
 import java.util.Collection;
 import java.util.Set;
 import java.util.function.Consumer;
diff --git a/src/main/java/fi/utu/tech/graphics/spatial/rtree/MultiLeaf.java b/src/main/java/fi/utu/tech/spatial/rtree/MultiLeaf.java
similarity index 95%
rename from src/main/java/fi/utu/tech/graphics/spatial/rtree/MultiLeaf.java
rename to src/main/java/fi/utu/tech/spatial/rtree/MultiLeaf.java
index 021595ee950074c9df129c585ca6864f97d5c29e..86cbab004f5d950bd4ef646b09b6638a0e8637e6 100644
--- a/src/main/java/fi/utu/tech/graphics/spatial/rtree/MultiLeaf.java
+++ b/src/main/java/fi/utu/tech/spatial/rtree/MultiLeaf.java
@@ -1,6 +1,6 @@
-package fi.utu.tech.graphics.spatial.rtree;
+package fi.utu.tech.spatial.rtree;
 
-import fi.utu.tech.graphics.Region;
+import fi.utu.tech.spatial.Region;
 
 import java.util.Collection;
 import java.util.HashSet;
diff --git a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Node.java b/src/main/java/fi/utu/tech/spatial/rtree/Node.java
similarity index 95%
rename from src/main/java/fi/utu/tech/graphics/spatial/rtree/Node.java
rename to src/main/java/fi/utu/tech/spatial/rtree/Node.java
index 4c65aa6b6c1b7116600915b5e7c0ed0760a880b1..7a81d05f61b61cf948a1cb96abbf44e98f6e7d7f 100644
--- a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Node.java
+++ b/src/main/java/fi/utu/tech/spatial/rtree/Node.java
@@ -1,7 +1,7 @@
-package fi.utu.tech.graphics.spatial.rtree;
+package fi.utu.tech.spatial.rtree;
 
-import fi.utu.tech.graphics.Point2D;
-import fi.utu.tech.graphics.Region;
+import fi.utu.tech.spatial.Point2D;
+import fi.utu.tech.spatial.Region;
 
 import java.util.Collection;
 import java.util.Set;
diff --git a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Parent.java b/src/main/java/fi/utu/tech/spatial/rtree/Parent.java
similarity index 96%
rename from src/main/java/fi/utu/tech/graphics/spatial/rtree/Parent.java
rename to src/main/java/fi/utu/tech/spatial/rtree/Parent.java
index 7ed204d698a260a1b4de139f8f3622814c37d890..f529c9f15f3a46762fe02ca1101b641c70274b42 100644
--- a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Parent.java
+++ b/src/main/java/fi/utu/tech/spatial/rtree/Parent.java
@@ -1,8 +1,8 @@
-package fi.utu.tech.graphics.spatial.rtree;
+package fi.utu.tech.spatial.rtree;
 
-import fi.utu.tech.graphics.Point2D;
-import fi.utu.tech.graphics.Rect;
-import fi.utu.tech.graphics.Region;
+import fi.utu.tech.spatial.Point2D;
+import fi.utu.tech.spatial.Rect;
+import fi.utu.tech.spatial.Region;
 
 import java.util.Collection;
 import java.util.HashSet;
diff --git a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Root.java b/src/main/java/fi/utu/tech/spatial/rtree/Root.java
similarity index 93%
rename from src/main/java/fi/utu/tech/graphics/spatial/rtree/Root.java
rename to src/main/java/fi/utu/tech/spatial/rtree/Root.java
index a389db366f5d84d261380ff1d8384c72b7087229..9b2f349bf9a5d81275e10c9db160b68bd8b514a4 100644
--- a/src/main/java/fi/utu/tech/graphics/spatial/rtree/Root.java
+++ b/src/main/java/fi/utu/tech/spatial/rtree/Root.java
@@ -1,6 +1,6 @@
-package fi.utu.tech.graphics.spatial.rtree;
+package fi.utu.tech.spatial.rtree;
 
-import fi.utu.tech.graphics.Region;
+import fi.utu.tech.spatial.Region;
 
 import java.util.Collection;
 import java.util.function.Consumer;
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..90da00122ac7bb8121eea871164e2b3088b74482
--- /dev/null
+++ b/src/main/java/module-info.java
@@ -0,0 +1,4 @@
+module fi.utu.tech.spatial {
+  exports fi.utu.tech.spatial;
+  exports fi.utu.tech.spatial.rtree;
+}
diff --git a/src/test/java/fi/utu/tech/graphics/spatial/rtree/RTreeTest.java b/src/test/java/fi/utu/tech/spatial/rtree/RTreeTest.java
similarity index 77%
rename from src/test/java/fi/utu/tech/graphics/spatial/rtree/RTreeTest.java
rename to src/test/java/fi/utu/tech/spatial/rtree/RTreeTest.java
index a09ad57420f8d87dc2806e76c7358bced65d61ed..2417f0c55c50a51356ef2dbe904aeecd4f7e6478 100644
--- a/src/test/java/fi/utu/tech/graphics/spatial/rtree/RTreeTest.java
+++ b/src/test/java/fi/utu/tech/spatial/rtree/RTreeTest.java
@@ -1,6 +1,6 @@
-package fi.utu.tech.graphics.spatial.rtree;
+package fi.utu.tech.spatial.rtree;
 
-import fi.utu.tech.graphics.Rect;
+import fi.utu.tech.spatial.Rect;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/src/test/resources/module-info.test b/src/test/resources/module-info.test
new file mode 100644
index 0000000000000000000000000000000000000000..22348332f79dcb8c09a79c99020f054b70904d53
--- /dev/null
+++ b/src/test/resources/module-info.test
@@ -0,0 +1,11 @@
+//
+// Patch, i.e. configure, Java module system at test-runtime
+//
+
+// Allow deep reflection for test discovery - repeat for each test library you need
+--add-opens
+  fi.utu.tech.spatial/fi.utu.tech.spatial=org.junit.platform.commons
+
+// "requires org.junit.jupiter.api"
+--add-reads
+  fi.utu.tech.spatial=org.junit.jupiter.api