diff --git a/Data/ZoomCache/PCM/Enumeratee.hs b/Data/ZoomCache/PCM/Enumeratee.hs
--- a/Data/ZoomCache/PCM/Enumeratee.hs
+++ b/Data/ZoomCache/PCM/Enumeratee.hs
@@ -31,6 +31,7 @@
 import Data.Int
 import qualified Data.Iteratee as I
 import Data.Maybe
+import Data.Offset
 import Data.Typeable
 import Data.TypeLevel.Num hiding ((==))
 import Data.ZoomCache
@@ -145,14 +146,14 @@
 ----------------------------------------------------------------------
 
 enumPCMDouble :: (Functor m, MonadIO m)
-              => I.Enumeratee [Block] [(TimeStamp, PCM Double)] m a
+              => I.Enumeratee [Offset Block] [(TimeStamp, PCM Double)] m a
 enumPCMDouble = I.joinI . enumPackets . I.mapChunks (concatMap f)
     where
         f :: Packet -> [(TimeStamp, PCM Double)]
         f Packet{..} = zip packetTimeStamps (rawToPCMDouble packetData)
 
 enumListPCMDouble :: (Functor m, MonadIO m)
-                  => I.Enumeratee [Block] [(TimeStamp, [PCM Double])] m a
+                  => I.Enumeratee [Offset Block] [(TimeStamp, [PCM Double])] m a
 enumListPCMDouble = I.joinI . enumPackets . I.mapChunks (concatMap f)
     where
         f :: Packet -> [(TimeStamp, [PCM Double])]
@@ -164,7 +165,7 @@
 wholeTrackSummaryPCMDouble :: (Functor m, MonadIO m)
                            => [IdentifyCodec]
                            -> TrackNo
-                           -> I.Iteratee ByteString m (Summary (PCM Double))
+                           -> I.Iteratee (Offset ByteString) m (Summary (PCM Double))
 wholeTrackSummaryPCMDouble identifiers trackNo = I.joinI $ enumCacheFile identifiers .
     I.joinI . filterTracks [trackNo] .  I.joinI . e $ I.last
     where
@@ -174,7 +175,7 @@
 
 enumSummaryPCMDouble :: (Functor m, MonadIO m)
                      => Int
-                     -> I.Enumeratee [Block] [Summary (PCM Double)] m a
+                     -> I.Enumeratee [Offset Block] [Summary (PCM Double)] m a
 enumSummaryPCMDouble level =
     I.joinI . enumSummaryLevel level .
     I.mapChunks (catMaybes . map toSD)
@@ -186,7 +187,7 @@
 wholeTrackSummaryListPCMDouble :: (Functor m, MonadIO m)
                                => [IdentifyCodec]
                                -> TrackNo
-                               -> I.Iteratee ByteString m [Summary (PCM Double)]
+                               -> I.Iteratee (Offset ByteString) m [Summary (PCM Double)]
 wholeTrackSummaryListPCMDouble identifiers trackNo =
     I.joinI $ enumCacheFile identifiers .
     I.joinI . filterTracks [trackNo] .  I.joinI . e $ I.last
@@ -197,7 +198,7 @@
 
 enumSummaryListPCMDouble :: (Functor m, MonadIO m)
                          => Int
-                         -> I.Enumeratee [Block] [[Summary (PCM Double)]] m a
+                         -> I.Enumeratee [Offset Block] [[Summary (PCM Double)]] m a
 enumSummaryListPCMDouble level =
     I.joinI . enumSummaryLevel level .
     I.mapChunks (catMaybes . map toSLD)
diff --git a/zoom-cache-pcm.cabal b/zoom-cache-pcm.cabal
--- a/zoom-cache-pcm.cabal
+++ b/zoom-cache-pcm.cabal
@@ -3,7 +3,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.2.4.0
+Version:             0.3.0.0
 
 Synopsis:            Library for zoom-cache PCM audio codecs
 
@@ -50,7 +50,7 @@
     ListLike                  >= 1.0     && < 4,
     mtl                       >= 2.0.0.0 && < 3,
     type-level,
-    zoom-cache                >= 0.9.0.0 && < 1.2.0.0
+    zoom-cache                >= 1.2.0.0 && < 1.3.0.0
 
   Exposed-modules:
     Data.ZoomCache.PCM
