diff --git a/HAppS/Server/Helpers.hs b/HAppS/Server/Helpers.hs
new file mode 100644
--- /dev/null
+++ b/HAppS/Server/Helpers.hs
@@ -0,0 +1,32 @@
+module HAppS.Server.Helpers
+    ( smartserver
+    ) where
+
+import HAppS.Server
+import HAppS.State
+import System.Environment
+import Control.Concurrent
+import System.Time
+
+-- run the happs server on some port
+smartserver :: (Methods st, Component st, ToMessage a) =>
+               Conf -> String -> [ServerPartT IO a] -> Proxy st -> IO ()
+smartserver conf progName c stateProxy = withProgName progName $ do
+      putStrLn . ( "starting happs server" ++ ) =<< time
+      control <- startSystemState stateProxy -- start the HAppS state system
+
+      putStrLn . ( "happs state started" ++ ) =<< time
+
+      tid <- forkIO $ simpleHTTP conf c
+      putStrLn . ( ( "simpleHttp started on port " ++ (show . port $ conf) ++ "\n" ++
+                 "shut down with ctrl-c" ) ++) =<< time
+
+      waitForTermination
+      killThread tid
+      putStrLn . ( "creating checkpoint: " ++ ) =<< time
+      createCheckpoint control
+
+      putStrLn .  ( "shutting down system: " ++ ) =<< time
+      shutdownSystem control 
+      putStrLn .  ( "exiting: " ++ ) =<< time
+         where time = return . ("\ntime: " ++ ) . show  =<< getClockTime
diff --git a/HAppSHelpers.cabal b/HAppSHelpers.cabal
--- a/HAppSHelpers.cabal
+++ b/HAppSHelpers.cabal
@@ -1,5 +1,5 @@
 Name: HAppSHelpers
-Version: 0.5
+Version: 0.6
 License: BSD3
 License-file: bsd3.txt
 Description: Functions I found I was using repeatedly when programming HAppS based web-apps. 
@@ -12,10 +12,11 @@
 Exposed-Modules: HAppS.Helpers,HAppS.Helpers.DirBrowse, HAppS.Helpers.HtmlOutput, HAppS.Helpers.HtmlOutput.Common, 
                  HAppS.Helpers.HtmlOutput.Menu, HAppS.Helpers.ParseRequest,HAppS.Helpers.Redirect, 
                  HAppS.Data.User.Password, HAppS.Server.CookieFixer, HAppS.Data.IxSet.Helpers
+                 HAppS.Server.Helpers
                  
 Build-Depends: base, mtl, HAppS-Server, hscolour, filepath, directory, bytestring,
                HStringTemplate, HStringTemplateHelpers, safe, MissingH, containers, parsec, Crypto, haskell98,
-               HAppS-IxSet, PBKDF2, random, HAppS-Data
+               HAppS-IxSet, HAppS-State, PBKDF2, random, HAppS-Data, old-time
 Category: Distributed Computing
 Build-type: Simple
 
