diff --git a/forward/Dockerfile b/forward/Dockerfile
new file mode 100644
index 0000000..5e77c5d
--- /dev/null
+++ b/forward/Dockerfile
@@ -0,0 +1,4 @@
+FROM eclipse-temurin:17-alpine
+COPY /target/forward-0.1.jar /usr/local/lib/forward.jar
+EXPOSE 8080
+ENTRYPOINT ["java","-jar","/usr/local/lib/forward.jar"]
diff --git a/forward/build.sh b/forward/build.sh
new file mode 100755
index 0000000..0f2c066
--- /dev/null
+++ b/forward/build.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+mvn clean install &&
+docker build -t io42630/forward:0.1 .
+
+
+
+
+
diff --git a/forward/install-locally.sh b/forward/install-locally.sh
deleted file mode 100755
index dac99ea..0000000
--- a/forward/install-locally.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-version="0.1"
-file="target/forward-${version}.war"
-groupId="com.olexyn.misp.forward"
-artifactId="forward"
-
-
-
-mvn package
-mvn install:install-file -Dfile=${file} -DgroupId=${groupId} -DartifactId=${artifactId} -Dversion=${version} -Dpackaging=war -DgeneratePom=true
diff --git a/forward/pom.xml b/forward/pom.xml
index 10ae113..ec9eadc 100644
--- a/forward/pom.xml
+++ b/forward/pom.xml
@@ -1,124 +1,59 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  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>
-
-  <groupId>com.olexyn.misp.forward</groupId>
-  <artifactId>forward</artifactId>
-  <version>0.1</version>
-  <packaging>war</packaging>
-
-  <name>forward Maven Webapp</name>
-  <!-- FIXME change it to the project's website -->
-  <url>http://www.example.com</url>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>11</maven.compiler.source>
-    <maven.compiler.target>11</maven.compiler.target>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.11</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.olexyn.misp.helper</groupId>
-      <artifactId>helper</artifactId>
-      <version>0.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>2.6</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.orbit</groupId>
-      <artifactId>javax.servlet</artifactId>
-      <version>3.0.0.v201112011016</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.json</groupId>
-      <artifactId>json</artifactId>
-      <version>20190722</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-server</artifactId>
-      <version>9.4.28.v20200408</version>
-    </dependency>
-    <dependency>
-      <groupId>com.olexyn.min.http.server</groupId>
-      <artifactId>min-http-server</artifactId>
-      <version>0.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-util</artifactId>
-      <version>9.4.28.v20200408</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-servlets</artifactId>
-      <version>9.4.28.v20200408</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-servlet</artifactId>
-      <version>9.4.28.v20200408</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.websocket</groupId>
-      <artifactId>websocket-server</artifactId>
-      <version>9.4.28.v20200408</version>
-    </dependency>
-
-  </dependencies>
-
-
-  <build>
-    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
-      <plugins>
-        <plugin>
-          <artifactId>maven-clean-plugin</artifactId>
-          <version>3.1.0</version>
-        </plugin>
-        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
-        <plugin>
-          <artifactId>maven-resources-plugin</artifactId>
-          <version>3.0.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.8.0</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.22.1</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-war-plugin</artifactId>
-          <version>3.2.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-install-plugin</artifactId>
-          <version>2.5.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-deploy-plugin</artifactId>
-          <version>2.8.2</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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>
+    <parent>
+        <groupId>com.olexyn</groupId>
+        <artifactId>zeeroot</artifactId>
+        <version>spring-boot-jdk17-0.1</version>
+    </parent>
+    <groupId>com.olexyn.misp</groupId>
+    <artifactId>forward</artifactId>
+    <version>0.1</version>
+    <packaging>jar</packaging>
+    <name>forward</name>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>com.olexyn</groupId>
+                <artifactId>zeebom</artifactId>
+                <version>1.1.1</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    <dependencies>
+        <dependency>
+            <groupId>com.olexyn.misp.helper</groupId>
+            <artifactId>helper</artifactId>
+            <version>0.1</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.json</groupId>
+            <artifactId>json</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-autoconfigure</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-tomcat</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <!-- for some godforsaken reason this is required. -->
+            <groupId>org.aspectj</groupId>
+            <artifactId>aspectjweaver</artifactId>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/forward/src/main/java/com/olexyn/misp/forward/App.java b/forward/src/main/java/com/olexyn/misp/forward/App.java
new file mode 100644
index 0000000..b522c0b
--- /dev/null
+++ b/forward/src/main/java/com/olexyn/misp/forward/App.java
@@ -0,0 +1,13 @@
+package com.olexyn.misp.forward;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
+
+@SpringBootApplication
+@EnableAspectJAutoProxy(proxyTargetClass = true)
+public class App {
+    public static void main(String... args) {
+        SpringApplication.run(App.class, args);
+    }
+}
diff --git a/forward/src/main/java/com/olexyn/misp/forward/Forward.java b/forward/src/main/java/com/olexyn/misp/forward/web/Forward.java
similarity index 88%
rename from forward/src/main/java/com/olexyn/misp/forward/Forward.java
rename to forward/src/main/java/com/olexyn/misp/forward/web/Forward.java
index 8edc4b1..610e1f8 100644
--- a/forward/src/main/java/com/olexyn/misp/forward/Forward.java
+++ b/forward/src/main/java/com/olexyn/misp/forward/web/Forward.java
@@ -1,12 +1,14 @@
-package com.olexyn.misp.forward;
+package com.olexyn.misp.forward.web;
 
 import com.olexyn.misp.helper.JsonHelper;
 import com.olexyn.misp.helper.Ride;
 import org.apache.commons.io.IOUtils;
 import org.json.JSONObject;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.ServletInputStream;
-import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -14,7 +16,8 @@ import java.io.PrintWriter;
 import java.util.HashMap;
 import java.util.Map;
 
-public class Forward extends HttpServlet {
+@RestController
+public class Forward {
 
     private static final long WAIT_FOR_USER_REQUEST = 500;
 
@@ -23,10 +26,10 @@ public class Forward extends HttpServlet {
     private final Map<Long, Ride> loaded = new HashMap<>();
 
 
-    @Override
+    @GetMapping
     public void doGet(HttpServletRequest request, HttpServletResponse response) {
 
-        Thread handleGetRequestThread = new Thread(() -> { handleGetRequest(request, response); });
+        Thread handleGetRequestThread = new Thread(() -> handleGetRequest(request, response));
         handleGetRequestThread.setName("handleGetRequestThread");
         handleGetRequestThread.start();
         try {handleGetRequestThread.join(); } catch (InterruptedException ignored) { }
@@ -40,7 +43,7 @@ public class Forward extends HttpServlet {
      * Wait for Ride to appear in `loaded`. This happens due to POST (Ride)(Request)(Data) from `reverse`.
      * Finally send OK (Data) to `user`.
      */
-    protected void handleGetRequest(HttpServletRequest request, HttpServletResponse response) {
+    private void handleGetRequest(HttpServletRequest request, HttpServletResponse response) {
         try {
 
             final Ride ride;
@@ -99,7 +102,7 @@ public class Forward extends HttpServlet {
     }
 
 
-    @Override
+    @PostMapping
     public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
 
         String payload = IOUtils.toString(request.getReader());
@@ -138,7 +141,7 @@ public class Forward extends HttpServlet {
      * Handle POST (Ride)(Request)(Data)
      * Move the Ride from `booked` to `loaded`, so it can be picked up by OK (Data) of GET (Request).
      */
-    protected void handlePostRideRequestData(HttpServletRequest request, HttpServletResponse response, String payload) {
+    private void handlePostRideRequestData(HttpServletRequest request, HttpServletResponse response, String payload) {
 
         final Ride ride = new Ride(payload);
 
@@ -157,7 +160,7 @@ public class Forward extends HttpServlet {
      * Handle POST (Available).
      * Send current # of available Rides to `reverse`.
      */
-    protected void handlePostAvailable(HttpServletRequest request, HttpServletResponse response) {
+    private void handlePostAvailable(HttpServletRequest request, HttpServletResponse response) {
 
         JSONObject obj = new JSONObject().put("available", available.size());
 
@@ -177,7 +180,7 @@ public class Forward extends HttpServlet {
      * Wait till a GET (Request) arrives from `user`.
      * Return OK (Ride)(Request) to `reverse`.
      */
-    protected void handlePostRide(HttpServletRequest request, HttpServletResponse response, String payload) {
+    private void handlePostRide(HttpServletRequest request, HttpServletResponse response, String payload) {
         try {
 
             final Ride ride = new Ride(payload);
diff --git a/forward/src/main/webapp/WEB-INF/web.xml b/forward/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 0be629d..0000000
--- a/forward/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE web-app PUBLIC
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd" >
-
-<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
-         version="2.4">
-
-  <display-name>misp-fwd</display-name>
-
-  <servlet>
-    <servlet-name>misp-fwd</servlet-name>
-    <servlet-class>com.olexyn.misp.forward.Forward</servlet-class>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>misp-fwd</servlet-name>
-    <url-pattern>/forward</url-pattern>
-  </servlet-mapping>
-
-</web-app>
diff --git a/forward/src/main/webapp/images/io42630.png b/forward/src/main/webapp/images/io42630.png
deleted file mode 100644
index 01d99bf..0000000
Binary files a/forward/src/main/webapp/images/io42630.png and /dev/null differ
diff --git a/forward/src/main/webapp/index.jsp b/forward/src/main/webapp/index.jsp
deleted file mode 100644
index 24fd5b1..0000000
--- a/forward/src/main/webapp/index.jsp
+++ /dev/null
@@ -1,20 +0,0 @@
-<html>
-<head>
-<title>misp-fwd</title>
-</head>
-<body bgcolor=white>
-
-<table border="0">
-<tr>
-<td align=center>
-<img src="images/io42630.png">
-</td>
-</tr>
-<tr>
-<td>
-<h1>misp-fwd</h1>
-</td>
-</tr>
-</table>
-</body>
-</html>