diff --git a/pipes-network.cabal b/pipes-network.cabal
--- a/pipes-network.cabal
+++ b/pipes-network.cabal
@@ -1,5 +1,5 @@
 name: pipes-network
-version: 0.1.0
+version: 0.1.0.1
 license: BSD3
 license-file: LICENSE
 copyright: Copyright (c) Renzo Carbonara 2012-2013, Paolo Capriotti 2012-2012.
@@ -37,7 +37,7 @@
         base (== 4.*),
         bytestring (>= 0.9.2.1),
         network,
-        pipes (==3.1.*),
+        pipes (>=3.1 && <3.3),
         pipes-safe (>=1.0),
         transformers (>= 0.2 && < 0.4)
     exposed-modules:
diff --git a/src/Control/Proxy/Network/Internal.hs b/src/Control/Proxy/Network/Internal.hs
--- a/src/Control/Proxy/Network/Internal.hs
+++ b/src/Control/Proxy/Network/Internal.hs
@@ -21,9 +21,9 @@
 
 -- | Preferred host to bind.
 data HostPreference
-  = HostAny          -- ^Any avaiable host.
-  | HostIPv4         -- ^Any avaiable IPv4 host.
-  | HostIPv6         -- ^Any avaiable IPv6 host.
+  = HostAny          -- ^Any available host.
+  | HostIPv4         -- ^Any available IPv4 host.
+  | HostIPv6         -- ^Any available IPv6 host.
   | Host NS.HostName -- ^An explicit host name.
   deriving (Eq, Ord, Show, Read)
 
diff --git a/src/Control/Proxy/TCP.hs b/src/Control/Proxy/TCP.hs
--- a/src/Control/Proxy/TCP.hs
+++ b/src/Control/Proxy/TCP.hs
@@ -354,7 +354,7 @@
     hints = NS.defaultHints { NS.addrFlags = [NS.AI_PASSIVE]
                             , NS.addrSocketType = NS.Stream }
 
-    tryAddrs []     = error "listen: no addresses available"
+    tryAddrs []     = error "bindSock: no addresses available"
     tryAddrs [x]    = useAddr x
     tryAddrs (x:xs) = E.catch (useAddr x)
                               (\e -> let _ = e :: E.IOException in tryAddrs xs)
