diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,18 @@
+Version 1.0.0.2
+===============
+
+* Added some examples and benchmarks files that I had forgotten to put in the
+  repository.
+
+
+Version 1.0.0.1
+===============
+
+* Improved performance.
+
+* Exposed `getCurentStatistics` in the `RequestQueueMonad`, allowing one to
+  obtain the statistics at any time during the run.
+
+* Bumped dependency bounds.
+
+* Deleted some vestigial code and imports.
diff --git a/LogicGrowsOnTrees-processes.cabal b/LogicGrowsOnTrees-processes.cabal
--- a/LogicGrowsOnTrees-processes.cabal
+++ b/LogicGrowsOnTrees-processes.cabal
@@ -1,5 +1,5 @@
 Name:                LogicGrowsOnTrees-processes
-Version:             1.0.0.1
+Version:             1.0.0.2
 License:             BSD3
 License-file:        LICENSE
 Author:              Gregory Crosswhite
@@ -13,6 +13,8 @@
     multiple processes for parallelism; see the module documentation for more
     details.
 
+Extra-source-files: CHANGELOG.md
+
 Bug-reports: https://github.com/gcross/LogicGrowsOnTrees-processes/issues
 
 Source-Repository head
@@ -22,8 +24,7 @@
 Source-Repository this
     Type:     git
     Location: git://github.com/gcross/LogicGrowsOnTrees-processes.git
-    Tag:      1.0.0.1
-
+    Tag:      1.0.0.2
 
 Library
     Build-depends:
diff --git a/benchmarks/benchmark.hs b/benchmarks/benchmark.hs
--- a/benchmarks/benchmark.hs
+++ b/benchmarks/benchmark.hs
@@ -1,47 +1,54 @@
+{-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE UnicodeSyntax #-}
 
+import Prelude hiding (catch)
+
+import Control.Exception (SomeException,catch)
 import Criterion.Main
 import Data.Monoid
 import System.Environment
+import System.IO
 
 import LogicGrowsOnTrees
 import LogicGrowsOnTrees.Checkpoint
-import LogicGrowsOnTrees.Utils.PerfectTree
+import LogicGrowsOnTrees.Utils.PerfectTree (trivialPerfectTree)
 import LogicGrowsOnTrees.Utils.WordSum
 import qualified LogicGrowsOnTrees.Parallel.Adapter.Processes as Processes
 import qualified LogicGrowsOnTrees.Parallel.Adapter.Threads as Threads
 import LogicGrowsOnTrees.Parallel.Adapter.Threads (setNumberOfWorkers)
 import LogicGrowsOnTrees.Parallel.Common.Worker (exploreTreeGeneric)
-import LogicGrowsOnTrees.Parallel.ExplorationMode (ExplorationMode(AllMode))
+import LogicGrowsOnTrees.Parallel.ExplorationMode (AllMode,ExplorationMode(AllMode))
 import LogicGrowsOnTrees.Parallel.Main
 import LogicGrowsOnTrees.Parallel.Purity (Purity(Pure))
 
-main = defaultMain
+depth = 15
+
+main = do
+    args ← getArgs
+    case args of
+        ["worker-bee"] →
+            Processes.runWorkerUsingHandles
+                AllMode
+                Pure
+                (trivialPerfectTree 2 depth)
+                stdin
+                stdout
+             `catch`
+             (\(e::SomeException) → error $ "Worker process failed: " ++ show e)
+        _ → Processes.getProgFilepath >>= defaultMain . benchmarks
+
+benchmarks worker_filepath =
     [bench "list" $ nf (getWordSum . mconcat . trivialPerfectTree 2) depth
     ,bench "tree" $ nf (getWordSum . exploreTree . trivialPerfectTree 2) depth
     ,bench "tree w/ checkpointing" $ nf (getWordSum . exploreTreeStartingFromCheckpoint Unexplored . trivialPerfectTree 2) depth
     ,bench "tree using worker" $ exploreTreeGeneric AllMode Pure (trivialPerfectTree 2 depth)
-    ,bench "tree using single thread (direct)" $ Threads.exploreTree (setNumberOfWorkers 1) (trivialPerfectTree 2 depth)
-    ,bench "tree using single thread (main)" $
-        withArgs ["-n1"] $
-            simpleMainForExploreTree
-                Threads.driver
-                (const $ return ())
-                (trivialPerfectTree 2 depth)
-    ,bench "tree using single process (direct)" $
-        Processes.runExplorer
-            (const AllMode)
-            Pure
-            (return ((),()))
+    ,bench "tree using single thread" $ Threads.exploreTree (setNumberOfWorkers 1) (trivialPerfectTree 2 depth)
+    ,bench "tree using single process" $
+        Processes.runSupervisor
+            (AllMode :: ExplorationMode (AllMode WordSum))
+            worker_filepath
+            ["worker-bee"]
             (const $ return ())
-            (const $ trivialPerfectTree 2 depth)
-            (\_ _ → return mempty)
-            (\_ _ → setNumberOfWorkers 1)
-    ,bench "tree using single process (main)" $
-        withArgs ["-n1"] $
-            simpleMainForExploreTree
-                Processes.driver
-                (const $ return ())
-                (trivialPerfectTree 2 depth)
+            mempty
+            (setNumberOfWorkers 1)
     ]
-  where depth = 15
