diff --git a/Adaptive.cabal b/Adaptive.cabal
--- a/Adaptive.cabal
+++ b/Adaptive.cabal
@@ -1,20 +1,35 @@
 Name:                Adaptive
-Version:             0.22
+Category:            Algorithms
+Cabal-Version:       >= 1.6
+Build-Type:          Simple
+Version:             0.23
+
 Synopsis:            Library for incremental computing.
-Description:         This is a Haskell (plus some extensions) implementation 
-		     of a library for incremental computing.  It closely 
-		     follows the implementation in the nice POPL 2002 paper 
-		     "Adaptive Functional Programming", by Umut Acar, 
-		     Guy Blelloch and Bob Harper.
+
+Description:         This is a Haskell (plus some extensions) implementation
+                     of a library for incremental computing.  It closely
+                     follows the implementation in the nice POPL 2002 paper
+                     "Adaptive Functional Programming", by Umut Acar,
+                     Guy Blelloch and Bob Harper.
+
 License:             BSD3
 License-file:        LICENSE
 Author:              Magnus Carlsson
-Maintainer:          Magnus Carlsson <magnus@galois.com>
-Build-Depends:       base, haskell98
-Exposed-modules:     Control.Monad.Adaptive, Control.Monad.Adaptive.Ref,Control.Monad.Adaptive.PriorityQueue, Control.Monad.Adaptive.OrderedList, Control.Monad.Adaptive.CircularList, Control.Monad.Adaptive.MonadUtil
-data-files:	     ChangeLog, README
-build-type:	     Simple
+Maintainer:          Magnus Carlsson <magnus@carlssonia.org>
 
-Executable:          spreadsheet
-Main-is:             spreadsheet.hs
+Library
+  Build-Depends:     base < 5
 
+  Exposed-modules:   Control.Monad.Adaptive,
+                     Control.Monad.Adaptive.Ref,
+                     Control.Monad.Adaptive.PriorityQueue,
+                     Control.Monad.Adaptive.OrderedList,
+                     Control.Monad.Adaptive.CircularList,
+                     Control.Monad.Adaptive.MonadUtil
+
+Executable           spreadsheet
+  Main-is:           spreadsheet.hs
+
+source-repository head
+    type: git
+    location: git://github.com/carlssonia/adaptive.git
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
--- a/ChangeLog
+++ /dev/null
@@ -1,12 +0,0 @@
-2008-07-14    <pj@csee.ltu.se>
-
-	* Version 0.22, adapted for Hugs 20060908 and ghc 6.8.2.
-
-2005-07-09    <magnus@cse.ogi.edu>
-
-	* Version 0.21, adapted for Hugs 20050308 and ghc 6.4, by
-	Andrew Pimlott <andrew@pimlott.net>.
-
-2002-03-18    <magnus@cse.ogi.edu>
-
-	* Version 0.2, public release.
diff --git a/Control/Monad/Adaptive.hs b/Control/Monad/Adaptive.hs
--- a/Control/Monad/Adaptive.hs
+++ b/Control/Monad/Adaptive.hs
@@ -22,7 +22,7 @@
  ) where
 
 import Prelude 
-import Monad(ap,unless)
+import Control.Monad(ap,unless)
 import Control.Monad.Adaptive.MonadUtil
 import Control.Monad.Adaptive.Ref
 import qualified Control.Monad.Adaptive.OrderedList as OL
diff --git a/Control/Monad/Adaptive/OrderedList.hs b/Control/Monad/Adaptive/OrderedList.hs
--- a/Control/Monad/Adaptive/OrderedList.hs
+++ b/Control/Monad/Adaptive/OrderedList.hs
@@ -27,7 +27,7 @@
   record
   ) where
 
-import Monad(ap,unless)
+import Control.Monad(ap,unless)
 import Control.Monad.Adaptive.MonadUtil
 import Control.Monad.Adaptive.Ref
 import Control.Monad.Adaptive.CircularList hiding (delete,insert,next,update)
diff --git a/Control/Monad/Adaptive/PriorityQueue.hs b/Control/Monad/Adaptive/PriorityQueue.hs
--- a/Control/Monad/Adaptive/PriorityQueue.hs
+++ b/Control/Monad/Adaptive/PriorityQueue.hs
@@ -12,8 +12,8 @@
 
 import Prelude hiding(min)
 
-import qualified List(insert)
-import Monad(ap)
+import qualified Data.List(insert)
+import Control.Monad(ap)
 
 -- Export:
 empty   :: PriorityQueue a
@@ -28,7 +28,7 @@
 
 empty = PQ []
 
-insert a (PQ l) = PQ (List.insert a l)
+insert a (PQ l) = PQ (Data.List.insert a l)
 
 
 insertM cmp a (PQ l) = return PQ `ap` ins l
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright 2002-2008 Magnus Carlsson <magnus@galois.com>
+Copyright 2002-2008 Magnus Carlsson <magnus@carlssonia.org>
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
diff --git a/README b/README
deleted file mode 100644
--- a/README
+++ /dev/null
@@ -1,46 +0,0 @@
-Adaptive version 0.22 2008-07-14
-================================
-
-This is a minor update to Adaptive version 0.21 to make it work with
-recent versions of GHC and Hugs. Adaptive is now cabalized, and any
-problems with the packaging is my fault, not Magnus.
-
-Peter A. Jonsson, pj@csee.ltu.se
-
-
-Adaptive version 0.21  2005-07-09
-=================================
-
-This is a Haskell (plus some extensions) implementation of a library
-for incremental computing.  It closely follows the implementation in
-the nice POPL 2002 paper "Adaptive Functional Programming", by Umut
-Acar, Guy Blelloch and Bob Harper.  As of writing, their paper can be
-found at
-
-      http://ttic.uchicago.edu/~umut/papers/popl02.html
-
-However, this Haskell library provides a monadic interface, which
-doesn't need the "write" operation or the "destination" type.  In
-addition, the monadic types enforce correct usage, which means that a
-modifiable variable must be defined before it can be used.  This is
-achieved within Haskell's type system plus some popular extensions
-(multi-parameter classes and functional dependencies).
-
-The library is parameterised over any monad that has references (such
-as IO and ST).  This means that it should be possible to put it on top
-of e.g. many GUI monads too.
-
-There is a small demo program of a classical incremental computation
-problem: a spreadsheet.  Try it by typing
-
-   runhugs -98 spreadsheet.hs
-
-and type, say 
-
-  c0 <Return> Cell c1 <Return> c1 <Return> Const 42 <Return>.
-
-This has been tested with the Hugs September 2006 version.
-
-Feedback is welcome!
-
-Magnus Carlsson, magnus@galois.com
diff --git a/spreadsheet.hs b/spreadsheet.hs
--- a/spreadsheet.hs
+++ b/spreadsheet.hs
@@ -10,9 +10,10 @@
 import Control.Monad.Adaptive
 import Data.Char
 import Control.Monad.Adaptive.Ref
-import Monad(ap,when)
+import Control.Monad(ap,when)
 import Data.IORef(IORef)
-import System
+import System.Exit
+import System.IO(hFlush, stdout)
 
 type InIO m a = m IO IORef a
 type IOMod a = InIO Modifiable a
@@ -60,6 +61,7 @@
 cleareol = esc "K"
 
 readPrompt c s = do prAt 20 c 0 (s++"> "++ cleareol)
+                    hFlush stdout
                     s <- getLine
                     when (s == "quit") $ exitWith ExitSuccess
                     return s
