diff --git a/CHANGES.txt b/CHANGES.txt
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
 Changelog for TagSoup
 
+0.13.3
+    Work on GHC 7.9
 0.13.2
     Remove all package upper bounds
     Allow QuickCheck-2.6
diff --git a/Text/HTML/Download.hs b/Text/HTML/Download.hs
--- a/Text/HTML/Download.hs
+++ b/Text/HTML/Download.hs
@@ -18,7 +18,7 @@
 import System.IO
 import System.IO.Unsafe
 import Network
-import Data.List
+import Data.List (isPrefixOf)
 
 {-# DEPRECATED openItem, openURL "Use package HTTP, module Network.HTTP, getResponseBody =<< simpleHTTP (getRequest url)" #-}
 
diff --git a/Text/HTML/TagSoup.hs b/Text/HTML/TagSoup.hs
--- a/Text/HTML/TagSoup.hs
+++ b/Text/HTML/TagSoup.hs
@@ -41,7 +41,7 @@
 import Text.HTML.TagSoup.Parser
 import Text.HTML.TagSoup.Render
 import Data.Char
-import Data.List
+import Data.List (groupBy, tails)
 import Text.StringLike
 
 
diff --git a/Text/HTML/TagSoup/Entity.hs b/Text/HTML/TagSoup/Entity.hs
--- a/Text/HTML/TagSoup/Entity.hs
+++ b/Text/HTML/TagSoup/Entity.hs
@@ -6,11 +6,11 @@
     xmlEntities, htmlEntities
     ) where
 
-import Data.Char
+import Data.Char (chr, ord)
 import qualified Data.IntMap as IntMap
 import Data.Ix
 import qualified Data.Map as Map
-import Numeric
+import Numeric (readHex)
 
 
 -- | Lookup an entity, using 'lookupNumericEntity' if it starts with
diff --git a/Text/HTML/TagSoup/Implementation.hs b/Text/HTML/TagSoup/Implementation.hs
--- a/Text/HTML/TagSoup/Implementation.hs
+++ b/Text/HTML/TagSoup/Implementation.hs
@@ -5,8 +5,8 @@
 import Text.HTML.TagSoup.Type
 import Text.HTML.TagSoup.Options
 import Text.StringLike as Str
-import Numeric
-import Data.Char
+import Numeric (readHex)
+import Data.Char (chr, ord)
 import Data.Ix
 import Control.Exception(assert)
 import Control.Arrow
diff --git a/Text/HTML/TagSoup/Match.hs b/Text/HTML/TagSoup/Match.hs
--- a/Text/HTML/TagSoup/Match.hs
+++ b/Text/HTML/TagSoup/Match.hs
@@ -5,7 +5,7 @@
 module Text.HTML.TagSoup.Match where
 
 import Text.HTML.TagSoup.Type (Tag(..), Attribute)
-import Data.List
+import Data.List (tails)
 
 
 -- | match an opening tag
diff --git a/Text/HTML/TagSoup/Specification.hs b/Text/HTML/TagSoup/Specification.hs
--- a/Text/HTML/TagSoup/Specification.hs
+++ b/Text/HTML/TagSoup/Specification.hs
@@ -3,7 +3,7 @@
 module Text.HTML.TagSoup.Specification(parse) where
 
 import Text.HTML.TagSoup.Implementation
-import Data.Char
+import Data.Char (isAlpha, isAlphaNum, isDigit, toLower)
 
 -- We make some generalisations:
 -- <!name is a valid tag start closed by >
diff --git a/Text/HTML/TagSoup/Type.hs b/Text/HTML/TagSoup/Type.hs
--- a/Text/HTML/TagSoup/Type.hs
+++ b/Text/HTML/TagSoup/Type.hs
@@ -19,8 +19,8 @@
     ) where
 
 
-import Data.List
-import Data.Maybe
+import Data.List (foldl')
+import Data.Maybe (fromMaybe, mapMaybe)
 import Text.StringLike
 import Data.Data(Data, Typeable)
 
diff --git a/tagsoup.cabal b/tagsoup.cabal
--- a/tagsoup.cabal
+++ b/tagsoup.cabal
@@ -1,6 +1,6 @@
 cabal-version:  >= 1.6
 name:           tagsoup
-version:        0.13.2
+version:        0.13.3
 copyright:      Neil Mitchell 2006-2014
 author:         Neil Mitchell <ndmitchell@gmail.com>
 maintainer:     Neil Mitchell <ndmitchell@gmail.com>
