diff --git a/lapack-ffi.cabal b/lapack-ffi.cabal
--- a/lapack-ffi.cabal
+++ b/lapack-ffi.cabal
@@ -1,10 +1,10 @@
 Name:             lapack-ffi
-Version:          0.0.2
+Version:          0.0.3
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
 Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
-Homepage:         http://hub.darcs.net/thielema/lapack-ffi/
+Homepage:         https://hub.darcs.net/thielema/lapack-ffi/
 Category:         Math
 Synopsis:         Auto-generated interface to Fortran LAPACK
 Description:
@@ -22,13 +22,13 @@
 Build-Type:       Simple
 
 Source-Repository this
-  Tag:         0.0.2
+  Tag:         0.0.3
   Type:        darcs
-  Location:    http://hub.darcs.net/thielema/lapack-ffi/
+  Location:    https://hub.darcs.net/thielema/lapack-ffi/
 
 Source-Repository head
   Type:        darcs
-  Location:    http://hub.darcs.net/thielema/lapack-ffi/
+  Location:    https://hub.darcs.net/thielema/lapack-ffi/
 
 Library
   PkgConfig-Depends: lapack
diff --git a/src/Numeric/LAPACK/FFI/Generic.hs b/src/Numeric/LAPACK/FFI/Generic.hs
--- a/src/Numeric/LAPACK/FFI/Generic.hs
+++ b/src/Numeric/LAPACK/FFI/Generic.hs
@@ -34,6 +34,10 @@
    gtts2,
    hegs2,
    hegst,
+   hesv,
+   hetrf,
+   hetri,
+   hetrs,
    hpgst,
    hpsv,
    hptrf,
@@ -349,6 +353,30 @@
 
 hegst :: Class.Floating a => Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
 hegst = getHEGST $ Class.switchFloating (HEGST S.sygst) (HEGST D.sygst) (HEGST C.hegst) (HEGST Z.hegst)
+
+
+newtype HESV a = HESV {getHESV :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+hesv :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+hesv = getHESV $ Class.switchFloating (HESV S.sysv) (HESV D.sysv) (HESV C.hesv) (HESV Z.hesv)
+
+
+newtype HETRF a = HETRF {getHETRF :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+hetrf :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+hetrf = getHETRF $ Class.switchFloating (HETRF S.sytrf) (HETRF D.sytrf) (HETRF C.hetrf) (HETRF Z.hetrf)
+
+
+newtype HETRI a = HETRI {getHETRI :: Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()}
+
+hetri :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> IO ()
+hetri = getHETRI $ Class.switchFloating (HETRI S.sytri) (HETRI D.sytri) (HETRI C.hetri) (HETRI Z.hetri)
+
+
+newtype HETRS a = HETRS {getHETRS :: Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()}
+
+hetrs :: Class.Floating a => Ptr CChar -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> IO ()
+hetrs = getHETRS $ Class.switchFloating (HETRS S.sytrs) (HETRS D.sytrs) (HETRS C.hetrs) (HETRS Z.hetrs)
 
 
 newtype HPGST a = HPGST {getHPGST :: Ptr CInt -> Ptr CChar -> Ptr CInt -> Ptr a -> Ptr a -> Ptr CInt -> IO ()}
