diff --git a/Numeric/Minimization/QuadProgPP.hs b/Numeric/Minimization/QuadProgPP.hs
--- a/Numeric/Minimization/QuadProgPP.hs
+++ b/Numeric/Minimization/QuadProgPP.hs
@@ -9,8 +9,6 @@
 import Control.Applicative
 import Control.Monad
 import Data.Maybe
-import Data.Packed
-import Data.Packed.Development
 import qualified Data.Vector.Storable as VS
 import Foreign.C.String
 import Foreign.C.Types (CInt(..))
@@ -18,7 +16,10 @@
 import Foreign.Marshal.Alloc
 import Foreign.Ptr
 import Foreign.Storable
+import Numeric.LinearAlgebra.Data
+import Numeric.LinearAlgebra.Devel
 import System.IO.Unsafe (unsafePerformIO)
+import Prelude
 
 -- | Errors that can happen in 'solveQuadProg'.
 data QuadProgPPError
@@ -55,9 +56,9 @@
         = unsafePerformIO $
     mat' (Just g) $ \gRow gCol gPtr ->
     vec' (Just g0) $ \g0Size g0Ptr ->
-    mat' (trans <$> ce) $ \ceRow ceCol cePtr ->
+    mat' (tr <$> ce) $ \ceRow ceCol cePtr ->
     vec' ce0 $ \ce0Size ce0Ptr ->
-    mat' (trans <$> ci) $ \ciRow ciCol ciPtr ->
+    mat' (tr <$> ci) $ \ciRow ciCol ciPtr ->
     vec' ci0 $ \ci0Size ci0Ptr ->
     fromMaybe (return $ Left QuadProgSizeMismatch) $ do
         let !nVar = gRow
@@ -90,9 +91,9 @@
                             (fromIntegral nVar)
                         in return $ Right (solutionVec, best)
     where
-        mat' (Just m) f = mat (cmat m) $ \church -> church $ \nrow ncol ptr -> f nrow ncol ptr
+        mat' (Just m) f = appMatrixLen f m
         mat' Nothing f = f 0 0 nullPtr
-        vec' (Just v) f = vec v $ \church -> church $ \size ptr -> f size ptr
+        vec' (Just v) f = appVectorLen f v
         vec' Nothing f = f 0 nullPtr
 
 split :: Maybe (a, b) -> (Maybe a, Maybe b)
diff --git a/hmatrix-quadprogpp.cabal b/hmatrix-quadprogpp.cabal
--- a/hmatrix-quadprogpp.cabal
+++ b/hmatrix-quadprogpp.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                hmatrix-quadprogpp
-version:             0.2.0.2
+version:             0.3.0.0
 synopsis:            Bindings to the QuadProg++ quadratic programming library
 description:
   Bindings to QuadProg++, a C++ library for quadratic programming.
@@ -25,5 +25,5 @@
   c-sources: c++/binding.cxx
   exposed-modules:     Numeric.Minimization.QuadProgPP
   -- other-modules:       
-  build-depends:       base >= 4.5 && < 4.9, vector >= 0.9, hmatrix >= 0.14
+  build-depends:       base >= 4.5 && < 4.9, vector >= 0.9, hmatrix >= 0.16
   extra-libraries:  QuadProgpp, stdc++
