diff --git a/examples/plugs/runplugs/Main.hs b/examples/plugs/runplugs/Main.hs
index 9a7e961..ea672f6 100644
--- a/examples/plugs/runplugs/Main.hs
+++ b/examples/plugs/runplugs/Main.hs
@@ -1,6 +1,5 @@
-{-# OPTIONS -cpp #-}
 --
--- Copyright (c) 2004-5 Don Stewart - http://www.cse.unsw.edu.au/~dons
+-- Copyright (c) 2004 Don Stewart - http://www.cse.unsw.edu.au/~dons
 -- GPL version 2 or later (see http://www.gnu.org/copyleft/gpl.html)
 --
 
@@ -8,61 +7,39 @@
 -- | Runplugs: use hs-plugins to run a Haskell expression under
 -- controlled conditions.
 --
-import System.Eval.Haskell      (unsafeEval_)
+import System.Eval.Haskell             (unsafeEval)
 
 import Data.Maybe               (isJust, fromJust)
 import Control.Monad            (when) 
-import Control.Exception        (evaluate) 
-
 
 import System.Exit              (exitWith, ExitCode(ExitSuccess))
-import System.IO                (hGetContents, hPutStrLn, putStrLn, hClose, stdin, stdout, stderr)
-#if !defined(CYGWIN) && !defined(__MINGW32__)
+import System.IO                (getContents, putStrLn)
 import System.Posix.Resource    (setResourceLimit,
 			         Resource(ResourceCPUTime), 
                                  ResourceLimits(ResourceLimits),
 			         ResourceLimit(ResourceLimit))
-import Control.Concurrent           ( forkIO )
-import qualified Control.Exception  ( evaluate )
 
 rlimit = ResourceLimit 3
-#endif
 
-context = prehier ++ datas ++ controls
+context = prehier ++ datas ++ qualifieds ++ controls
 
 prehier = ["Char", "List", "Maybe", "Numeric", "Random" ]
 
+qualifieds = ["qualified Data.Map as M", "qualified Data.Set as S"]
+
 datas   = map ("Data." ++) [
                 "Bits", "Bool", "Char", "Dynamic", "Either", 
-                "Graph", "Int", "Ix", "List", "Maybe", 
-#if __GLASGOW_HASKELL__ >= 604
-                "Map",
-#else
-                "FiniteMap",
-#endif
-                "Ratio", "Set", "Tree", "Tuple", "Typeable", "Word" 
+                "Graph", "Int", "Ix", "List", 
+                "Maybe", "Ratio", "Tree", "Tuple", "Typeable", "Word" 
               ]
 
-controls = map ("Control." ++) ["Monad", "Arrow"]
+controls = map ("Control." ++) ["Monad", "Monad.Reader", "Monad.Fix", "Arrow"]
 
---
--- with ghc 6.4, ghc doesn't seem to be able to call gcc, setNoFDBlocking fails.
---
--- *** Assembler
--- gcc -I/tmp -c /tmp/ghc11596.s -o /tmp/MySzQ14137.o
--- 
--- Failed: gcc -I/tmp -c /tmp/ghc11596.s -o /tmp/MySzQ14137.o
--- gcc: setNonBlockingFD: invalid argument (Bad file descriptor)
---
 main = do
-#if !defined(CYGWIN) && defined(__MINGW32__)
         setResourceLimit ResourceCPUTime (ResourceLimits rlimit rlimit)
-#endif
-        s <- hGetContents stdin
+        s <- getContents
         when (not . null $ s) $ do
-                s <- unsafeEval_ ("(take 2048 (show ("++s++")))") context ["-v"] [] []
-                case s of
-                        Left errs -> mapM_ putStrLn errs
-                        Right s   -> putStrLn s
+                s <- unsafeEval ("(take 2048 (show ("++s++")))") context
+                when (isJust s) (putStrLn (fromJust s))
         exitWith ExitSuccess
 
diff --git a/examples/plugs/runplugs/Makefile b/examples/plugs/runplugs/Makefile
index 2f4e702..14ae11c 100644
--- a/examples/plugs/runplugs/Makefile
+++ b/examples/plugs/runplugs/Makefile
@@ -1,5 +1,5 @@
 GHCFLAGS=   -Onot $(GHC_EXTRA_OPTS)
-PKGFLAGS=   -package posix -package-conf $(TOP)/plugins.conf.inplace
+PKGFLAGS=   -package posix
 PKGFLAGS+=  -package plugins
 
 all: build
diff --git a/examples/plugs/runplugs/dont_test b/examples/plugs/runplugs/dont_test
deleted file mode 100644
index e69de29..0000000