diff --git a/examples/CommandEvalProtocol.lhs b/examples/CommandEvalProtocol.lhs
--- a/examples/CommandEvalProtocol.lhs
+++ b/examples/CommandEvalProtocol.lhs
@@ -83,12 +83,21 @@
 > main :: IO ()
 > main = do
 >     hSetBuffering stdin NoBuffering
->     (worker,_) <- startIOWorker "Command Evaluator" def
+>     bzz <- startIOWorker "Command Evaluator" def
 >                       "/tmp/commandme.sock" cmdHandler
->     sendCommands worker [Dance, Dance, AddNumbers 1 2, Echo "Hi", Dance]
->     threadDelay 80000
->     killWorker worker
->     return ()
+>     go bzz
+>   where
+>     go (worker, restart) = do
+>         sendCommands worker [ Dance, Dance
+>                             , AddNumbers 1 2
+>                             , Echo "Hi", Echo "wow"
+>                             , Dance, Dance ]
+>         threadDelay 800000
+>         worker' <- restart worker
+>         go (worker', restart)
+>         return ()
+
+
 
 Sample output:
 
diff --git a/restricted-workers.cabal b/restricted-workers.cabal
--- a/restricted-workers.cabal
+++ b/restricted-workers.cabal
@@ -1,6 +1,6 @@
 name:                restricted-workers
 synopsis:            Running worker processes under system resource restrictions
-version:             0.1.0
+version:             0.1.1
 
 description:         This library provides an abstract interface for
                      running various kinds of workers under resource
diff --git a/src/System/Restricted/Worker/Internal.hs b/src/System/Restricted/Worker/Internal.hs
--- a/src/System/Restricted/Worker/Internal.hs
+++ b/src/System/Restricted/Worker/Internal.hs
@@ -61,11 +61,11 @@
            -> Maybe (IO Handle)  -- ^ Where to redirect stdout
            -> (Socket -> IO ())  -- ^ Callback funcion
            -> IO ProcessID
-forkWorker (w@Worker{..}) out cb = do
+forkWorker Worker{..} out cb = do
     _ <- setStoppedChildFlag True
     _ <- installHandler processStatusChanged Ignore Nothing
     soc <- mkSock workerSocket
-    addFinalizer w (close soc)
+    addFinalizer soc (close soc)
     forkProcess $ do
         _ <- setStoppedChildFlag False
         _ <- installHandler processStatusChanged Default Nothing
