diff --git a/classes/modules/AbstractModule.php b/classes/modules/AbstractModule.php
deleted file mode 100644
index 042111ee3e6bccd6edcf5279e27c700ee31f4d5e..0000000000000000000000000000000000000000
--- a/classes/modules/AbstractModule.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php declare(strict_types=1);
-
-namespace uib\ub\loadspeakr\modules;
-
-abstract class AbstractModule
-{
-    abstract protected function match($uri);
-    abstract protected function execute($params);
-}
diff --git a/classes/modules/AdminModule.php b/classes/modules/AdminModule.php
index 981bc2ea8210e5a7315e9c378f6915a17c9081d3..36d1a209625db5e354d1d94c14dca0d61604d6c7 100644
--- a/classes/modules/AdminModule.php
+++ b/classes/modules/AdminModule.php
@@ -7,7 +7,7 @@ use uib\ub\loadspeakr\Endpoint;
 use uib\ub\loadspeakr\HTTPStatus;
 use uib\ub\loadspeakr\Utils;
 
-class AdminModule extends abstractModule
+class AdminModule implements ModuleInterface
 {
     //Service module
     private $head = "<!DOCTYPE html>
diff --git a/classes/modules/ExportModule.php b/classes/modules/ExportModule.php
index 48e9269defd3b64316d3d0fb402a586cccfa5fdf..9abe8e131ad5111bbfddb0aecbe605601bf428bb 100644
--- a/classes/modules/ExportModule.php
+++ b/classes/modules/ExportModule.php
@@ -4,7 +4,7 @@ namespace uib\ub\loadspeakr\modules;
 
 use ARC2;
 
-class ExportModule extends abstractModule
+class ExportModule implements ModuleInterface
 {
     private $serialization;
     private $graph;
diff --git a/classes/modules/ModuleInterface.php b/classes/modules/ModuleInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..12614e20934d78bbb9990b81e2f6ccfe93491f49
--- /dev/null
+++ b/classes/modules/ModuleInterface.php
@@ -0,0 +1,9 @@
+<?php declare(strict_types=1);
+
+namespace uib\ub\loadspeakr\modules;
+
+interface ModuleInterface
+{
+    public function match($uri);
+    public function execute($params);
+}
diff --git a/classes/modules/RedirectModule.php b/classes/modules/RedirectModule.php
index 6a3ebbf7768655c96db205bfcabaeef65ec06a31..57e17d1c927bf22f96272e3c693292088fac2b10 100644
--- a/classes/modules/RedirectModule.php
+++ b/classes/modules/RedirectModule.php
@@ -4,7 +4,7 @@ namespace uib\ub\loadspeakr\modules;
 
 use uib\ub\loadspeakr\MetaDb;
 
-class RedirectModule extends abstractModule
+class RedirectModule implements ModuleInterface
 {
     public function match($uri)
     {
diff --git a/classes/modules/ServiceModule.php b/classes/modules/ServiceModule.php
index 67caf485c5213f143115f54d40862b373340d051..b5262cb551f3117bdf41454e0193667951132bbf 100644
--- a/classes/modules/ServiceModule.php
+++ b/classes/modules/ServiceModule.php
@@ -8,7 +8,7 @@ use uib\ub\loadspeakr\HTTPStatus;
 use uib\ub\loadspeakr\Logging;
 use uib\ub\loadspeakr\Utils;
 
-class ServiceModule extends abstractModule
+class ServiceModule implements ModuleInterface
 {
     public function match($uri)
     {
diff --git a/classes/modules/SessionModule.php b/classes/modules/SessionModule.php
index c029512cd24c568652b495e4a0519b6920b5e80d..bf3f47ffafb15448c626a619fb8f03595b01aa85 100644
--- a/classes/modules/SessionModule.php
+++ b/classes/modules/SessionModule.php
@@ -4,7 +4,7 @@ namespace uib\ub\loadspeakr\modules;
 
 use uib\ub\loadspeakr\HTTPStatus;
 
-class SessionModule extends abstractModule
+class SessionModule implements ModuleInterface
 {
     //Session module
     private $sessionUri = "session";
diff --git a/classes/modules/SparqlFilterModule.php b/classes/modules/SparqlFilterModule.php
index 10a5ff87506f62dd7d0b0ded8d4562c0fc216120..6ac39fe6a89f4123948f84f666a9690c3fb458bd 100644
--- a/classes/modules/SparqlFilterModule.php
+++ b/classes/modules/SparqlFilterModule.php
@@ -10,7 +10,7 @@ use uib\ub\loadspeakr\MetaDb;
 use uib\ub\loadspeakr\Queries;
 use uib\ub\loadspeakr\Utils;
 
-class SparqlFilterModule extends abstractModule
+class SparqlFilterModule implements ModuleInterface
 {
     public function match($uri)
     {
diff --git a/classes/modules/StaticModule.php b/classes/modules/StaticModule.php
index 92833e0d21b5161965ffc506c24e40e144ff3693..b72072d7da2bdf52a3669be05d6747432e9f681e 100644
--- a/classes/modules/StaticModule.php
+++ b/classes/modules/StaticModule.php
@@ -6,7 +6,7 @@ use uib\ub\loadspeakr\HTTPStatus;
 use uib\ub\loadspeakr\Logging;
 use uib\ub\loadspeakr\Utils;
 
-class StaticModule extends abstractModule
+class StaticModule implements ModuleInterface
 {
     public function match($uri)
     {
diff --git a/classes/modules/TypeModule.php b/classes/modules/TypeModule.php
index 4b52cc333c0cbdfa8ba66acbd180162c68ee40b2..915b783b7047d423b8faa7ea8cf6ad5ca485aad9 100644
--- a/classes/modules/TypeModule.php
+++ b/classes/modules/TypeModule.php
@@ -9,7 +9,7 @@ use uib\ub\loadspeakr\MetaDb;
 use uib\ub\loadspeakr\Queries;
 use uib\ub\loadspeakr\Utils;
 
-class TypeModule extends abstractModule
+class TypeModule implements ModuleInterface
 {
     public function match($uri)
     {
diff --git a/classes/modules/UriModule.php b/classes/modules/UriModule.php
index b0c778e7b1a487cc1e848fb85c32efedb830b923..112afd1964bed056f14a96cbb0339ed27c3f8d75 100644
--- a/classes/modules/UriModule.php
+++ b/classes/modules/UriModule.php
@@ -9,7 +9,7 @@ use uib\ub\loadspeakr\MetaDb;
 use uib\ub\loadspeakr\Queries;
 use uib\ub\loadspeakr\Utils;
 
-class UriModule extends abstractModule
+class UriModule implements ModuleInterface
 {
     public function match($uri)
     {