diff --git a/mohws.cabal b/mohws.cabal
--- a/mohws.cabal
+++ b/mohws.cabal
@@ -1,5 +1,5 @@
 Name:         mohws
-Version:      0.2
+Version:      0.2.0.1
 Author:       Simon Marlow, Bjorn Bringert <bjorn@bringert.net>
 Copyright:    Simon Marlow, Bjorn Bringert
 Maintainer:   Henning Thielemann <webserver@henning-thielemann.de>
@@ -13,87 +13,107 @@
 Homepage:     http://code.haskell.org/mohws/
 Tested-with:  GHC==6.8.2
 Build-Type:   Simple
+Cabal-Version: >=1.6
 
-Build-depends:
-  base>3,
-  directory,
-  HTTP >=4000.0.4 && <4001,
-  network,
-  unix,
-  parsec,
-  html,
-  process,
-  containers,
-  old-time,
-  old-locale,
-  bytestring,
-  filepath,
-  utility-ht >=0.0.3 && <0.1,
-  transformers >=0.1.3 && <0.2,
-  explicit-exception >=0.1 && <0.2,
-  data-accessor >=0.2 && <0.3
 Data-Files:
   README
   public_html/html.cgi
   public_html/Pi.hs
   public_html/text.cgi
 
-Hs-Source-dirs: src
-Ghc-Options: -threaded -Wall
-Exposed-Modules:
-  -- server
-  Network.MoHWS.Server
-  Network.MoHWS.Server.Context
-  Network.MoHWS.Server.Request
-  Network.MoHWS.Server.Options
-  -- logging
-  Network.MoHWS.Logger
-  Network.MoHWS.Logger.Access
-  Network.MoHWS.Logger.Error
-  Network.MoHWS.Logger.Level
-  -- configuration
-  Network.MoHWS.Configuration
-  Network.MoHWS.Configuration.Accessor
-  Network.MoHWS.Configuration.Parser
-  Network.MoHWS.Initialization
-  Network.MoHWS.Initialization.Standard
-  -- http
-  Network.MoHWS.HTTP.Header
-  Network.MoHWS.HTTP.MimeType
-  Network.MoHWS.HTTP.Request
-  Network.MoHWS.HTTP.Response
-  Network.MoHWS.HTTP.Version
-  -- module system
-  Network.MoHWS.Module
-  Network.MoHWS.Module.Description
-  Network.MoHWS.Part.AddSlash
-  Network.MoHWS.Part.CGI
-  Network.MoHWS.Part.File
-  Network.MoHWS.Part.Index
-  Network.MoHWS.Part.Listing
-  Network.MoHWS.Part.UserDirectory
-  Network.MoHWS.Part.VirtualHost
-  -- basics
-  Network.MoHWS.Stream
-Other-Modules:
-  Network.MoHWS.Utility
-  Network.MoHWS.ParserUtility
-  Network.MoHWS.Server.Environment
-  Network.MoHWS.ByteString
+Source-Repository head
+  Type:     darcs
+  Location: http://code.haskell.org/mohws/
 
-Executable: hws
-Main-is: Main.hs
-Hs-Source-dirs: src
-Ghc-Options: -threaded -Wall
+Source-Repository this
+  Type:     darcs
+  Location: http://code.haskell.org/mohws/
+  Tag:      0.2.0.1
 
-Executable: hws-dyn
--- Buildable: False
-Main-is: MainDynamic.hs
-Hs-Source-dirs: src
-Ghc-Options: -threaded -Wall
-Build-Depends: ghc >=6.8 && <6.9
-   -- ghc package needed for GHCUtil in DynHS
-Other-Modules:
-  Network.MoHWS.Part.DynHS
-  Network.MoHWS.Part.DynHS.CGI
-  Network.MoHWS.Part.DynHS.GHCUtil
+Flag dynamic
+  description: Build server with dynamically loaded plugins
+  default:     False
+
+Library
+  Build-depends:
+    base >3,
+    directory >=1.0 && <1.1,
+    HTTP >=4000.0.4 && <4001,
+    network >=2.1 && <2.3,
+    unix >=2.3 && <2.4,
+    parsec >=2.1 && <2.2,
+    html >=1.0 && <1.1,
+    process >=1.0 && <1.1,
+    containers >=0.1 && <0.3,
+    old-time >=1.0 && <1.1,
+    old-locale >=1.0 && <1.1,
+    bytestring >=0.9 && <0.10,
+    filepath >=1.1 && <1.2,
+    utility-ht >=0.0.3 && <0.1,
+    transformers >=0.1.3 && <0.2,
+    explicit-exception >=0.1 && <0.2,
+    data-accessor >=0.2 && <0.3
+
+  Hs-Source-dirs: src
+  Ghc-Options: -threaded -Wall
+  Exposed-Modules:
+    -- server
+    Network.MoHWS.Server
+    Network.MoHWS.Server.Context
+    Network.MoHWS.Server.Request
+    Network.MoHWS.Server.Options
+    -- logging
+    Network.MoHWS.Logger
+    Network.MoHWS.Logger.Access
+    Network.MoHWS.Logger.Error
+    Network.MoHWS.Logger.Level
+    -- configuration
+    Network.MoHWS.Configuration
+    Network.MoHWS.Configuration.Accessor
+    Network.MoHWS.Configuration.Parser
+    Network.MoHWS.Initialization
+    Network.MoHWS.Initialization.Standard
+    -- http
+    Network.MoHWS.HTTP.Header
+    Network.MoHWS.HTTP.MimeType
+    Network.MoHWS.HTTP.Request
+    Network.MoHWS.HTTP.Response
+    Network.MoHWS.HTTP.Version
+    -- module system
+    Network.MoHWS.Module
+    Network.MoHWS.Module.Description
+    Network.MoHWS.Part.AddSlash
+    Network.MoHWS.Part.CGI
+    Network.MoHWS.Part.File
+    Network.MoHWS.Part.Index
+    Network.MoHWS.Part.Listing
+    Network.MoHWS.Part.UserDirectory
+    Network.MoHWS.Part.VirtualHost
+    -- basics
+    Network.MoHWS.Stream
+  Other-Modules:
+    Network.MoHWS.Utility
+    Network.MoHWS.ParserUtility
+    Network.MoHWS.Server.Environment
+    Network.MoHWS.ByteString
+    -- it's needed for linking parallelweb, but it hurts haddock
+    -- Paths_mohws
+
+Executable hws
+  Main-is: Main.hs
+  Hs-Source-dirs: src
+  Ghc-Options: -threaded -Wall
+
+Executable hws-dyn
+  If flag(dynamic)
+    Build-Depends: ghc >=6.8 && <6.9
+       -- ghc package needed for GHCUtil in DynHS
+  Else
+    Buildable: False
+  Main-is: MainDynamic.hs
+  Hs-Source-dirs: src
+  Ghc-Options: -threaded -Wall
+  Other-Modules:
+    Network.MoHWS.Part.DynHS
+    Network.MoHWS.Part.DynHS.CGI
+    Network.MoHWS.Part.DynHS.GHCUtil
diff --git a/src/Network/MoHWS/Server.hs b/src/Network/MoHWS/Server.hs
--- a/src/Network/MoHWS/Server.hs
+++ b/src/Network/MoHWS/Server.hs
@@ -276,7 +276,7 @@
   (h, SockAddrInet port haddr) <- Util.accept sock
   inet_ntoa haddr >>=
                 \ip -> debug st $ "Got connection from " ++ ip ++ ":" ++ show port
-  forkIO ( (talk st h haddr  `finally`  (hClose h))
+  forkIO ( (talk st h haddr  `finally`  hClose h)
             `Exception.catch`
           (\e -> debug st ("servlet died: "  ++ show e))
         )
