diff --git a/lapack-comfort-array.cabal b/lapack-comfort-array.cabal
--- a/lapack-comfort-array.cabal
+++ b/lapack-comfort-array.cabal
@@ -1,5 +1,5 @@
 Name:             lapack-comfort-array
-Version:          0.0.0.2
+Version:          0.0.1
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -40,7 +40,7 @@
 Build-Type:       Simple
 
 Source-Repository this
-  Tag:         0.0.0.2
+  Tag:         0.0.1
   Type:        darcs
   Location:    https://hub.darcs.net/thielema/lapack-comfort-array/
 
diff --git a/src/Numeric/LAPACK/ComfortArray/Generic.hs b/src/Numeric/LAPACK/ComfortArray/Generic.hs
--- a/src/Numeric/LAPACK/ComfortArray/Generic.hs
+++ b/src/Numeric/LAPACK/ComfortArray/Generic.hs
@@ -34,6 +34,10 @@
    gttrs,
    gtts2,
    hbgst,
+   hesv,
+   hetrf,
+   hetri,
+   hetrs,
    hpgst,
    hpsv,
    hptrf,
@@ -351,6 +355,30 @@
 
 hbgst :: Class.Floating a => Char -> Char -> Int -> Int -> IOArray (ZeroInt,ZeroInt) a -> Array (ZeroInt,ZeroInt) a -> Int -> IO (Array (ZeroInt,ZeroInt) a, Int)
 hbgst = getHBGST $ Class.switchFloating (HBGST S.sbgst) (HBGST D.sbgst) (HBGST C.hbgst) (HBGST Z.hbgst)
+
+
+newtype HESV a = HESV {getHESV :: Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt CInt, Int)}
+
+hesv :: Class.Floating a => Char -> IOArray (ZeroInt,ZeroInt) a -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt CInt, Int)
+hesv = getHESV $ Class.switchFloating (HESV S.sysv) (HESV D.sysv) (HESV C.hesv) (HESV Z.hesv)
+
+
+newtype HETRF a = HETRF {getHETRF :: Char -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt CInt, Int)}
+
+hetrf :: Class.Floating a => Char -> IOArray (ZeroInt,ZeroInt) a -> Int -> IO (Array ZeroInt CInt, Int)
+hetrf = getHETRF $ Class.switchFloating (HETRF S.sytrf) (HETRF D.sytrf) (HETRF C.hetrf) (HETRF Z.hetrf)
+
+
+newtype HETRI a = HETRI {getHETRI :: Char -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> IO (Int)}
+
+hetri :: Class.Floating a => Char -> IOArray (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> IO (Int)
+hetri = getHETRI $ Class.switchFloating (HETRI S.sytri) (HETRI D.sytri) (HETRI C.hetri) (HETRI Z.hetri)
+
+
+newtype HETRS a = HETRS {getHETRS :: Char -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)}
+
+hetrs :: Class.Floating a => Char -> Array (ZeroInt,ZeroInt) a -> Array ZeroInt CInt -> IOArray (ZeroInt,ZeroInt) a -> IO (Int)
+hetrs = getHETRS $ Class.switchFloating (HETRS S.sytrs) (HETRS D.sytrs) (HETRS C.hetrs) (HETRS Z.hetrs)
 
 
 newtype HPGST a = HPGST {getHPGST :: Int -> Char -> Int -> IOArray ZeroInt a -> Array ZeroInt a -> IO (Int)}
