diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -2,6 +2,10 @@
 
 ## Unreleased changes
 
+## 0.1.2.0
+
+* support mtl-2.3
+
 ## 0.1.1.0
 
 * re-export `Default` class from `Numeric.Optimization.MIP`.
diff --git a/MIP.cabal b/MIP.cabal
--- a/MIP.cabal
+++ b/MIP.cabal
@@ -1,13 +1,11 @@
 cabal-version: 1.18
 
--- This file has been generated from package.yaml by hpack version 0.33.0.
+-- This file has been generated from package.yaml by hpack version 0.36.0.
 --
 -- see: https://github.com/sol/hpack
---
--- hash: f6b1b8d7874f11e9e522f0bba9ad5789dbfe74e4a863836348e4a8f03c658484
 
 name:           MIP
-version:        0.1.1.0
+version:        0.1.2.0
 synopsis:       Library for using Mixed Integer Programming (MIP)
 description:    Please see the README on GitHub at <https://github.com/msakai/haskell-MIP/tree/master/MIP#readme>
 category:       Math, Algorithms, Optimisation, Optimization
@@ -91,7 +89,8 @@
       Numeric.Optimization.MIP.Internal.Util
   hs-source-dirs:
       src
-  other-extensions: CPP
+  other-extensions:
+      CPP
   build-depends:
       OptDir
     , base >=4.7 && <5
@@ -102,13 +101,14 @@
     , intern >=0.9.1.2 && <1.0.0.0
     , lattices
     , megaparsec >=5 && <10
-    , mtl >=2.1.2
+    , mtl >=2.1.2 && <2.4
     , process >=1.1.0.2
     , scientific
     , stm >=2.3
     , temporary >=1.2
     , text >=1.1.0.0
     , xml-conduit
+  default-language: Haskell2010
   if flag(WithZlib)
     cpp-options: -DWITH_ZLIB
     build-depends:
@@ -118,7 +118,6 @@
       , zlib
   else
     cpp-options:  
-  default-language: Haskell2010
 
 test-suite MIP-test
   type: exitcode-stdio-1.0
@@ -139,8 +138,9 @@
     , lattices
     , tasty >=0.10.1
     , tasty-hunit >=0.9 && <0.11
-    , tasty-quickcheck >=0.8 && <0.11
+    , tasty-quickcheck >=0.8 && <0.12
     , tasty-th
+  default-language: Haskell2010
   if flag(TestCBC)
     cpp-options: -DTEST_CBC
   else
@@ -165,4 +165,3 @@
     cpp-options: -DTEST_SCIP
   else
     cpp-options:  
-  default-language: Haskell2010
diff --git a/src/Numeric/Optimization/MIP/Solution/CBC.hs b/src/Numeric/Optimization/MIP/Solution/CBC.hs
--- a/src/Numeric/Optimization/MIP/Solution/CBC.hs
+++ b/src/Numeric/Optimization/MIP/Solution/CBC.hs
@@ -24,6 +24,7 @@
 import Control.Applicative
 #endif
 
+import Control.Monad (foldM)
 import Control.Monad.Except
 import Data.Interned (intern)
 import Data.Map (Map)
diff --git a/src/Numeric/Optimization/MIP/Solution/SCIP.hs b/src/Numeric/Optimization/MIP/Solution/SCIP.hs
--- a/src/Numeric/Optimization/MIP/Solution/SCIP.hs
+++ b/src/Numeric/Optimization/MIP/Solution/SCIP.hs
@@ -23,6 +23,7 @@
 #if !MIN_VERSION_base(4,8,0)
 import Control.Applicative
 #endif
+import Control.Monad (foldM)
 import Control.Monad.Except
 import Data.Interned (intern)
 import Data.Map (Map)
