diff --git a/butter.cabal b/butter.cabal
--- a/butter.cabal
+++ b/butter.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: edd6869e85954e6b4c2c20e390b378baf65ee06700fd249c0ffbd20ebd881186
+-- hash: 24c731fb48d05c85ec1e4d1852e1318e779e2b63d581b69d22aed2672aa51d4e
 
 name:           butter
-version:        0.1.0.2
+version:        0.1.0.3
 synopsis:       Monad Transformer for Asyncronous Message Passing
 description:    Please see the README on Github at <https://github.com/System-Indystress/Butter#readme>
 category:       Distributed Computing, Concurrency
diff --git a/src/Distrib/Butter/Lang.hs b/src/Distrib/Butter/Lang.hs
--- a/src/Distrib/Butter/Lang.hs
+++ b/src/Distrib/Butter/Lang.hs
@@ -144,7 +144,7 @@
       setup :: (MonadIO m, ForkableMonad m) => TVar Internal -> Maybe Int -> m ()
       setup var Nothing     = return ()
       setup var (Just port) = do
-        forkIO $ serve (HostAny) (show port) (\(sock,addr) -> do
+        forkIO $ serve (HostAny) (show port) (\(sock,addr) -> forever $ do
           mbs <- recv sock 1
           if mbs /= Just (BW.pack "§")
           then return ()
diff --git a/test/first/Main.hs b/test/first/Main.hs
--- a/test/first/Main.hs
+++ b/test/first/Main.hs
@@ -44,7 +44,7 @@
 distr :: IO ()
 distr = do
   forkIO $ spread "node2" (Just 9669) $ do
-    connect "friend" "127.0.0.1" 9696
+    connect "friend" "localhost" 9696
     send (to "friend" "hello") ("*wave*" :: String)
     return ()
   spread "node1" (Just 9696) $ do
@@ -52,24 +52,22 @@
     msg <- receive :: Butter IO String
     lift $ assertEqual "got the message from another node" "*wave*" msg
     return ()
-  return ()
 
 distr2 :: IO ()
 distr2 = do
   forkIO $ spread "node1" (Just 8002) $ do
     name "ping"
-    connect "node2" "127.0.0.1" 8003
+    connect "node2" "localhost" 8003
     send (to "node2" "hello") ("ping" :: String)
     msg <- receive :: Butter IO String
     lift $ assertEqual "got message" "pong" msg
     return ()
   spread "node2" (Just 8003) $ do
     name "hello"
-    connect "node1" "127.0.0.1" 8002
+    connect "node1" "localhost" 8002
     who <- receive :: Butter IO String
     send (to "node1" (pack who)) ("pong" :: String)
     return ()
-  return ()
 
 
 
