diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
 0.1.0.1     Changed to git repository
 
 0.1.2.1     fixed .cabal repository line
+
+0.1.2.2     updated for hmatrix 0.17
diff --git a/hmatrix-repa.cabal b/hmatrix-repa.cabal
--- a/hmatrix-repa.cabal
+++ b/hmatrix-repa.cabal
@@ -1,8 +1,8 @@
 Name:               hmatrix-repa
-Version:            0.1.2.1
+Version:            0.1.2.2
 License:            BSD3
 License-file:       LICENSE
-Copyright:          (c) A.V.H. McPhail 2011
+Copyright:          (c) A.V.H. McPhail 2011, 2015
 Author:             Vivian McPhail
 Maintainer:         haskell.vivian.mcphail <at> gmail <dot> com
 Stability:          provisional
@@ -11,7 +11,7 @@
 Description:        
     Adaptors for interoperability between hmatrix and repa
 Category:           Math, Data
-tested-with:        GHC ==7.4.1
+tested-with:        GHC ==7.10.2
 
 cabal-version:      >=1.8
 
@@ -24,7 +24,7 @@
 
     Build-Depends:      base >= 4 && < 5,
                         vector >= 0.7,
-                        hmatrix >= 0.10.0.4,
+                        hmatrix >= 0.17.0.2,
                         repa >= 3 && < 4
 
     Extensions:         
diff --git a/lib/Data/Packed/Repa.hs b/lib/Data/Packed/Repa.hs
--- a/lib/Data/Packed/Repa.hs
+++ b/lib/Data/Packed/Repa.hs
@@ -3,7 +3,7 @@
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Packed.Repa
--- Copyright   :  (c) Alexander Vivian Hugh McPhail 2011
+-- Copyright   :  (c) Alexander Vivian Hugh McPhail 2011, 2015
 -- License     :  BSD3
 --
 -- Maintainer  :  haskell.vivian.mcphail <at> gmail <dot> com
@@ -21,8 +21,9 @@
                          , repaToMatrix
                          ) where
 
-import qualified Data.Packed.Vector as HV
-import qualified Data.Packed.Matrix as HM
+import qualified Numeric.LinearAlgebra      as H
+import qualified Numeric.LinearAlgebra.Data as HV
+import qualified Numeric.LinearAlgebra.Data as HM
 
 import Foreign.Storable
 
@@ -33,10 +34,10 @@
 import qualified Data.Array.Repa.Repr.Vector as RV
 
 -- | convert a Storable vector to a DIM1 repa array
-vectorToRepa :: (Storable e, GV.Vector HV.Vector e)
+vectorToRepa :: (Storable e, GV.Vector HV.Vector e, H.Container Vector e)
              => HV.Vector e
              -> RV.Array RV.V RA.DIM1 e
-vectorToRepa v = let ln = HV.dim v
+vectorToRepa v = let ln = HV.size v
                  in RV.fromVector (RA.Z RA.:. ln) $ convert v
 
 -- XXX: note that this type could be made shape polymorhphic.
@@ -46,7 +47,7 @@
 repaToVector = convert . RV.toVector
 
 -- | convert a Storable matrix to a DIM2 repa array
-matrixToRepa :: (HM.Element e, GV.Vector HV.Vector e)
+matrixToRepa :: (H.Element e, GV.Vector HV.Vector e)
              => HM.Matrix e
              -> RV.Array RV.V RA.DIM2 e
 matrixToRepa m = let (r,c) = (HM.rows m,HM.cols m) 
