diff --git a/Data/BloomFilter.hs b/Data/BloomFilter.hs
--- a/Data/BloomFilter.hs
+++ b/Data/BloomFilter.hs
@@ -1,5 +1,5 @@
-{-# LANGUAGE BangPatterns, CPP, Rank2Types, TypeOperators #-}
-{-# OPTIONS_GHC -fglasgow-exts #-}
+{-# LANGUAGE BangPatterns, CPP, Rank2Types, ScopedTypeVariables,
+    TypeOperators #-}
 
 -- |
 -- Module: Data.BloomFilter
diff --git a/Data/BloomFilter/Array.hs b/Data/BloomFilter/Array.hs
--- a/Data/BloomFilter/Array.hs
+++ b/Data/BloomFilter/Array.hs
@@ -1,6 +1,5 @@
 {-# LANGUAGE FlexibleContexts, ForeignFunctionInterface, MagicHash,
-             Rank2Types #-}
-{-# OPTIONS_GHC -fglasgow-exts #-}
+             Rank2Types, UnliftedFFITypes #-}
 
 module Data.BloomFilter.Array (newArray) where
 
diff --git a/Data/BloomFilter/Hash.hs b/Data/BloomFilter/Hash.hs
--- a/Data/BloomFilter/Hash.hs
+++ b/Data/BloomFilter/Hash.hs
@@ -1,4 +1,5 @@
-{-# LANGUAGE CPP, ForeignFunctionInterface, TypeOperators #-}
+{-# LANGUAGE BangPatterns, CPP, ForeignFunctionInterface,
+    TypeOperators #-}
 
 -- |
 -- Module: Data.BloomFilter.Hash
diff --git a/Data/BloomFilter/Util.hs b/Data/BloomFilter/Util.hs
--- a/Data/BloomFilter/Util.hs
+++ b/Data/BloomFilter/Util.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE MagicHash, TypeOperators #-}
+{-# LANGUAGE BangPatterns, MagicHash, TypeOperators #-}
 
 module Data.BloomFilter.Util
     (
diff --git a/README b/README
deleted file mode 100644
--- a/README
+++ /dev/null
@@ -1,21 +0,0 @@
-A fast, space efficient Bloom filter implementation
----------------------------------------------------
-
-Copyright 2008 Bryan O'Sullivan <bos@serpentine.com>.
-
-This package provides both mutable and immutable Bloom filter data
-types, along with a family of hash function and an easy-to-use
-interface.
-
-To build:
-
-    runhaskell Setup.lhs configure
-    runhaskell Setup.lhs build
-    runhaskell Setup.lhs install
-
-For examples of usage, see the Haddock documentation and the files in
-the examples directory.
-
-To get the latest sources:
-
-    darcs get http://darcs.serpentine.com/bloomfilter
diff --git a/README.markdown b/README.markdown
new file mode 100644
--- /dev/null
+++ b/README.markdown
@@ -0,0 +1,36 @@
+# A fast, space efficient Bloom filter implementation
+
+Copyright 2008, 2009, 2010 Bryan O'Sullivan <bos@serpentine.com>.
+
+This package provides both mutable and immutable Bloom filter data
+types, along with a family of hash function and an easy-to-use
+interface.
+
+To build:
+
+    cabal install bloomfilter
+
+For examples of usage, see the Haddock documentation and the files in
+the examples directory.
+
+
+# Get involved!
+
+Please report bugs via the
+[bitbucket issue tracker](http://bitbucket.org/bos/bloomfilter).
+
+Master [Mercurial repository](http://bitbucket.org/bos/bloomfilter):
+
+* `hg clone http://bitbucket.org/bos/bloomfilter`
+
+There's also a [git mirror](http://github.com/bos/bloomfilter):
+
+* `git clone git://github.com/bos/bloomfilter.git`
+
+(You can create and contribute changes using either Mercurial or git.)
+
+
+# Authors
+
+This library is written and maintained by Bryan O'Sullivan,
+<bos@serpentine.com>.
diff --git a/bloomfilter.cabal b/bloomfilter.cabal
--- a/bloomfilter.cabal
+++ b/bloomfilter.cabal
@@ -1,5 +1,5 @@
 name:            bloomfilter
-version:         1.2.6.7
+version:         1.2.6.8
 license:         BSD3
 license-file:    LICENSE
 author:          Bryan O'Sullivan <bos@serpentine.com>
@@ -12,7 +12,7 @@
 stability:       provisional
 build-type:      Simple
 cabal-version:   >= 1.6
-extra-source-files: README cbits/lookup3.c cbits/lookup3.h
+extra-source-files: README.markdown cbits/lookup3.c cbits/lookup3.h
                  examples/Makefile examples/SpellChecker.hs examples/Words.hs
 
 library
