diff --git a/PaymentServer.cabal b/PaymentServer.cabal
index 91290a9141da0c185e06d2a2af383c2829c7b3cf..a7656536887160c36898ced10c9542f4c6954112 100644
--- a/PaymentServer.cabal
+++ b/PaymentServer.cabal
@@ -17,6 +17,7 @@ library
   hs-source-dirs:      src
   exposed-modules:     PaymentServer.Processors.Stripe
                      , PaymentServer.Persistence
+                     , PaymentServer.Main
   build-depends:       base >= 4.7 && < 5
                      , aeson
                      , servant
diff --git a/app/Main.hs b/app/Main.hs
index d82a4bd93b7e75a6ff9845150450ae0709b93086..d4379ac395df388da6dfab75b440bbd699056236 100644
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -1,4 +1,9 @@
-module Main where
+module Main
+  ( main
+  ) where
 
-main :: IO ()
-main = return ()
+import PaymentServer.Main
+  ( run
+  )
+
+main = run
diff --git a/src/PaymentServer/Main.hs b/src/PaymentServer/Main.hs
new file mode 100644
index 0000000000000000000000000000000000000000..1e3a2f08aa306c5234bfb5272ed1cb937ae78b04
--- /dev/null
+++ b/src/PaymentServer/Main.hs
@@ -0,0 +1,6 @@
+module PaymentServer.Main
+  ( run
+  ) where
+
+run :: IO ()
+run =