diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # tensors
 
-[![Hackage](https://img.shields.io/badge/hackage-v0.1.1-orange.svg)](https://hackage.haskell.org/package/tensors)
+[![Hackage](https://img.shields.io/badge/hackage-v0.1.2-orange.svg)](https://hackage.haskell.org/package/tensors)
 [![Build Status](https://travis-ci.org/leptonyu/tensors.svg?branch=master)](https://travis-ci.org/leptonyu/tensors)
 
 
diff --git a/tensors.cabal b/tensors.cabal
--- a/tensors.cabal
+++ b/tensors.cabal
@@ -1,69 +1,72 @@
 cabal-version: 1.12
-
--- This file has been generated from package.yaml by hpack version 0.31.1.
---
--- see: https://github.com/sol/hpack
---
--- hash: dbd547840dd8d9ad019059dbf09c36ab86d33914720ce19ab71a4fd3926ef044
-
-name:           tensors
-version:        0.1.1
-synopsis:       Tensor in Haskell
-description:    Tensor use type level programming in haskell.
-category:       Library
-homepage:       https://github.com/leptonyu/tensors#readme
-author:         Daniel YU
-maintainer:     Daniel YU <leptonyu@gmail.com>
-copyright:      (c) 2018 Daniel YU
-license:        BSD3
-license-file:   LICENSE
-build-type:     Simple
+name: tensors
+version: 0.1.2
+license: BSD3
+license-file: LICENSE
+copyright: (c) 2018 Daniel YU
+maintainer: Daniel YU <leptonyu@gmail.com>
+author: Daniel YU
+homepage: https://github.com/leptonyu/tensors#readme
+synopsis: Tensor in Haskell
+description:
+    Tensor use type level programming in haskell.
+category: Library
+build-type: Simple
 extra-source-files:
     README.md
 
 library
-  exposed-modules:
-      Data.Tensor
-  other-modules:
-      Data.Tensor.Type
-      Data.Tensor.Index
-      Data.Tensor.Tensor
-      Data.Tensor.Matrix
-      Data.Tensor.Space
-      Data.Tensor.Statistics
-  hs-source-dirs:
-      src
-  default-extensions: AllowAmbiguousTypes DataKinds ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies KindSignatures MultiParamTypeClasses PolyKinds RankNTypes ScopedTypeVariables TypeFamilies TypeOperators TypeSynonymInstances
-  ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -fno-warn-orphans -fno-warn-missing-signatures
-  build-depends:
-      base >=4.7 && <5
-    , reflection
-    , singletons
-    , vector
-  default-language: Haskell2010
+    exposed-modules:
+        Data.Tensor
+    hs-source-dirs: src
+    other-modules:
+        Data.Tensor.Type
+        Data.Tensor.Index
+        Data.Tensor.Tensor
+        Data.Tensor.Matrix
+        Data.Tensor.Space
+        Data.Tensor.Statistics
+    default-language: Haskell2010
+    default-extensions: AllowAmbiguousTypes DataKinds
+                        ExistentialQuantification FlexibleContexts FlexibleInstances
+                        FunctionalDependencies KindSignatures MultiParamTypeClasses
+                        PolyKinds RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
+                        TypeSynonymInstances
+    ghc-options: -Wall -Wcompat -Wincomplete-record-updates
+                 -Wincomplete-uni-patterns -fno-warn-orphans
+                 -fno-warn-missing-signatures
+    build-depends:
+        base >=4.7 && <5,
+        reflection >=2.1.4 && <2.2,
+        singletons >=2.5.1 && <2.6,
+        vector >=0.12.0.2 && <0.13
 
 test-suite spec
-  type: exitcode-stdio-1.0
-  main-is: Spec.hs
-  other-modules:
-      Data.Tensor
-      Data.Tensor.Index
-      Data.Tensor.Matrix
-      Data.Tensor.Space
-      Data.Tensor.Statistics
-      Data.Tensor.Tensor
-      Data.Tensor.Type
-      Paths_tensors
-  hs-source-dirs:
-      test
-      src
-  default-extensions: AllowAmbiguousTypes DataKinds ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies KindSignatures MultiParamTypeClasses PolyKinds RankNTypes ScopedTypeVariables TypeFamilies TypeOperators TypeSynonymInstances
-  ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -fno-warn-orphans -fno-warn-missing-signatures
-  build-depends:
-      QuickCheck
-    , base >=4.7 && <5
-    , hspec ==2.*
-    , reflection
-    , singletons
-    , vector
-  default-language: Haskell2010
+    type: exitcode-stdio-1.0
+    main-is: Spec.hs
+    hs-source-dirs: test src
+    other-modules:
+        Data.Tensor
+        Data.Tensor.Index
+        Data.Tensor.Matrix
+        Data.Tensor.Space
+        Data.Tensor.Statistics
+        Data.Tensor.Tensor
+        Data.Tensor.Type
+        Paths_tensors
+    default-language: Haskell2010
+    default-extensions: AllowAmbiguousTypes DataKinds
+                        ExistentialQuantification FlexibleContexts FlexibleInstances
+                        FunctionalDependencies KindSignatures MultiParamTypeClasses
+                        PolyKinds RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
+                        TypeSynonymInstances
+    ghc-options: -Wall -Wcompat -Wincomplete-record-updates
+                 -Wincomplete-uni-patterns -fno-warn-orphans
+                 -fno-warn-missing-signatures
+    build-depends:
+        QuickCheck >=2.12.6.1 && <2.13,
+        base >=4.7 && <5,
+        hspec ==2.*,
+        reflection >=2.1.4 && <2.2,
+        singletons >=2.5.1 && <2.6,
+        vector >=0.12.0.2 && <0.13
