diff --git a/src/Text/HTML/WraXML/String.hs b/src/Text/HTML/WraXML/String.hs
--- a/src/Text/HTML/WraXML/String.hs
+++ b/src/Text/HTML/WraXML/String.hs
@@ -1,13 +1,13 @@
 module Text.HTML.WraXML.String where
 
-import qualified Text.XML.WraXML.String as XmlString
 import qualified Text.HTML.Basic.Character as HtmlChar
-import qualified Data.Char as Char
+import qualified Text.XML.WraXML.String as XmlString
 import qualified Text.XML.HXT.DOM.Unicode as Unicode
+import Text.XML.WraXML.Utility (compose)
 
-import qualified Control.Monad.Exception.Synchronous as Exc
+import qualified Data.Char as Char
 
-import Text.XML.WraXML.Utility (compose, )
+import qualified Control.Monad.Exception.Synchronous as Exc
 
 
 type T = [Atom]
diff --git a/src/Text/HTML/WraXML/Tree.hs b/src/Text/HTML/WraXML/Tree.hs
--- a/src/Text/HTML/WraXML/Tree.hs
+++ b/src/Text/HTML/WraXML/Tree.hs
@@ -19,7 +19,7 @@
 import Control.Monad.Trans.State (State, put, get, )
 import Control.Applicative (liftA, liftA2, )
 
-import           Data.List.HT (takeWhileRev, )
+import qualified Data.List.Reverse.StrictElement as Rev
 import           Data.Tuple.HT (mapFst, )
 import           Control.Monad (liftM2, )
 import           Data.Maybe (mapMaybe, fromMaybe, )
@@ -32,7 +32,7 @@
    (Name.Tag name, Name.Attribute name) =>
    XmlTree.T i name String -> Maybe String
 findMetaEncoding =
-   fmap (map Char.toLower . takeWhileRev ('='/=)) .
+   fmap (map Char.toLower . Rev.takeWhile ('='/=)) .
    lookup "content-type" .
    map (mapFst (map Char.toLower)) .
    getMetaHTTPHeaders
diff --git a/src/Text/HTML/WraXML/Tree/HXT.hs b/src/Text/HTML/WraXML/Tree/HXT.hs
--- a/src/Text/HTML/WraXML/Tree/HXT.hs
+++ b/src/Text/HTML/WraXML/Tree/HXT.hs
@@ -63,12 +63,12 @@
 format :: HXT.XmlTree -> String
 format leaf = formatTrees (HXTTree.getChildren leaf) ""
 
-formatTrees	:: HXT.XmlTrees -> ShowS
-formatTrees	= foldr (.) id . map formatTree
+formatTrees :: HXT.XmlTrees -> ShowS
+formatTrees = foldr (.) id . map formatTree
 
 
 -- cf. src/Text/XML/HXT/DOM/XmlTreeFunctions.hs
-formatTree	:: HXT.XmlTree -> ShowS
+formatTree :: HXT.XmlTree -> ShowS
 formatTree leaf =
    case leaf of
       (NTree (XPi n al) _) ->
@@ -82,18 +82,19 @@
            where
              showPiAttr :: HXT.XmlTree -> String -> String
              showPiAttr a@(NTree (XAttr an) cs) =
-	         if aName an == a_value
-	           then Format.blank . formatTrees cs
-	           else formatTree a
+                 if qualifiedName an == a_value
+                   then Format.blank . formatTrees cs
+                   else formatTree a
              showPiAttr _ = id
       (NTree (XTag t al) cs) ->
-         if null cs && isEmptyHtmlTag (HXT.qualifiedName t)
+         if null cs && isEmptyHtmlTag (qualifiedName t)
            then Format.lt . formatQName t . formatTrees al . Format.gt
            else Format.lt . formatQName t . formatTrees al . Format.gt
                  . formatTrees cs
                  . Format.lt . Format.slash . formatQName t . Format.gt
       (NTree (XAttr an) cs) ->
-         Format.blank . formatQName an . Format.eq . Format.stringQuoted (formatTrees cs "")
+         Format.blank . formatQName an . Format.eq .
+         Format.stringQuoted (formatTrees cs "")
       (NTree (XError l e) _) ->
          showString "<!-- ERROR (" . showString (show l) . showString "):\n"
           . showString e . showString "\n-->"
@@ -112,12 +113,14 @@
 findMetaEncoding :: String -> IO (Maybe String)
 findMetaEncoding str =
    do htmlTrees <- xmlTreesFromHTMLString str
-      return (msum (map HtmlTree.findMetaEncoding (htmlTrees :: [XmlTree.T () NameLC.T String])))
+      return (msum (map HtmlTree.findMetaEncoding
+                           (htmlTrees :: [XmlTree.T () NameLC.T String])))
 
 getMetaHTTPHeaders :: String -> IO [(String, String)]
 getMetaHTTPHeaders str =
    do htmlTrees <- xmlTreesFromHTMLString str
-      return (concatMap HtmlTree.getMetaHTTPHeaders (htmlTrees :: [XmlTree.T () NameLC.T String]))
+      return (concatMap HtmlTree.getMetaHTTPHeaders
+                           (htmlTrees :: [XmlTree.T () NameLC.T String]))
 
 xmlTreesFromHTMLString ::
    (Name.Tag name, Name.Attribute name) =>
@@ -142,7 +145,8 @@
 
 {-
 With no encoding option given,
-utf8ToUnicode fails when trying to interpret ISO-Latin characters as UTF-8 characters
+utf8ToUnicode fails when trying
+to interpret ISO-Latin characters as UTF-8 characters.
 -}
 fromHTMLString :: String -> IO HXT.XmlTree
 fromHTMLString = fromHTMLStringOpt [(a_encoding, isoLatin1)]
@@ -168,9 +172,9 @@
 errorAnnFromHTMLStringOpt options contents =
    do
       let options' =
-             (a_collect_errors, v_1) :	-- collect errors
-	     (a_issue_errors,   v_0) :	-- but don't issue
-	    				-- can be overwritten by supporting other values in options
+             (a_collect_errors, v_1) :  -- collect errors
+             (a_issue_errors,   v_0) :  -- but don't issue
+             -- can be overwritten by supporting other values in options
              options
       (root:errs) <- run' $ parseDocument options' contents emptyRoot
       let elvl = intValueOf a_status root
diff --git a/src/Text/XML/WraXML/String.hs b/src/Text/XML/WraXML/String.hs
--- a/src/Text/XML/WraXML/String.hs
+++ b/src/Text/XML/WraXML/String.hs
@@ -3,16 +3,16 @@
 import qualified Text.XML.HXT.DOM.Unicode as Unicode
 
 import qualified Text.XML.Basic.Character as XmlChar
+import Text.XML.WraXML.Utility (compose)
 
-import Control.Applicative (Applicative, liftA, )
-import qualified Numeric
 import qualified Data.Char as Char
-import Text.XML.WraXML.Utility (compose, )
-import Data.Tuple.HT (mapFst, )
+import Data.Tuple.HT (mapFst)
 
-import qualified Control.Monad.Exception.Synchronous as Exc
+import qualified Numeric
 
-import Control.Monad.Trans.State (State, evalState, )
+import qualified Control.Monad.Exception.Synchronous as Exc
+import Control.Monad.Trans.State (State, evalState)
+import Control.Applicative (Applicative, liftA)
 
 
 type T = [Atom]
diff --git a/src/Text/XML/WraXML/Tree.hs b/src/Text/XML/WraXML/Tree.hs
--- a/src/Text/XML/WraXML/Tree.hs
+++ b/src/Text/XML/WraXML/Tree.hs
@@ -1,33 +1,30 @@
 module Text.XML.WraXML.Tree where
 
-import qualified Text.XML.WraXML.Element as Elem
-
-import qualified Data.Tree.BranchLeafLabel as Tree
-import qualified Text.XML.WraXML.String  as XmlString
 import qualified Text.HTML.WraXML.String as HtmlString
+import qualified Text.XML.WraXML.String  as XmlString
+import qualified Text.XML.WraXML.Element as Elem
 
 import qualified Text.XML.Basic.Tag as Tag
 import qualified Text.XML.Basic.Attribute as Attr
 import qualified Text.XML.Basic.Name as Name
 import qualified Text.XML.Basic.ProcessingInstruction as PI
+import qualified Text.XML.Basic.Format as Format
 
+import qualified Data.Tree.BranchLeafLabel as Tree
 import qualified Text.XML.HXT.DOM.Unicode as Unicode
-import qualified Data.Char               as Char
-
-import Control.Monad.Trans.Writer (Writer, writer, runWriter, censor, )
+import qualified Data.Char as Char
 
 import qualified Control.Monad.Exception.Synchronous as Exc
+import Control.Monad.Trans.Writer (Writer, writer, runWriter, censor)
 
-import           Data.Foldable as Foldable(Foldable(foldMap))
-import           Data.Traversable as Traversable(Traversable(traverse))
+import           Data.Foldable (Foldable(foldMap))
+import           Data.Traversable (Traversable(traverse))
 import           Control.Applicative (Applicative, )
 import qualified Control.Applicative as App
 import           Data.List.HT (unzipEithers, )
 import           Data.Tuple.HT (mapFst, mapSnd, mapPair, swap, )
 import           Data.Maybe (mapMaybe, fromMaybe, )
 import           Data.Monoid (Monoid, mempty, mappend, mconcat, )
-
-import qualified Text.XML.Basic.Format as Format
 
 
 {- * data structures -}
diff --git a/wraxml.cabal b/wraxml.cabal
--- a/wraxml.cabal
+++ b/wraxml.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:  2.2
 Name:           wraxml
-Version:        0.4.4.3
+Version:        0.4.4.4
 License:        GPL-3.0-only
 License-File:   LICENSE
 Author:         Henning Thielemann <haskell@henning-thielemann.de>
@@ -51,7 +51,7 @@
 Source-Repository this
    Type:     darcs
    Location: http://code.haskell.org/~thielema/wraxml/
-   Tag:      0.4.4.3
+   Tag:      0.4.4.4
 
 Flag buildExamples
    description: Build example executables
@@ -70,7 +70,7 @@
     transformers >=0.2 && <0.7,
     data-accessor >=0.2 && <0.3,
     containers >=0.1 && <0.7,
-    utility-ht >=0.0.4 && <0.1,
+    utility-ht >=0.0.12 && <0.1,
     base >=3 && <5
   Default-Language: Haskell98
   GHC-Options:    -Wall
