diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,12 @@
+0.1.8.0
+-------
+* make types to be instances of `Read` class
+
+0.1.7.0
+-------
+* introduce `ParserError` type
+* support megaparsec `7.*`
+
 0.1.6.0
 -------
 * include #mincost=, #maxcost=, #sumcost= in the hint line of WBO files
diff --git a/pseudo-boolean.cabal b/pseudo-boolean.cabal
--- a/pseudo-boolean.cabal
+++ b/pseudo-boolean.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                pseudo-boolean
-version:             0.1.7.0
+version:             0.1.8.0
 synopsis:            Reading/Writing OPB/WBO files used in pseudo boolean competition
 description:         Reading\/Writing OPB\/WBO files used in pseudo boolean competition
 homepage:            https://github.com/msakai/pseudo-boolean
@@ -26,7 +26,7 @@
    GHC ==7.10.3
    GHC ==8.0.2
    GHC ==8.2.2
-   GHC ==8.4.3
+   GHC ==8.4.4
 
 source-repository head
   type:     git
diff --git a/src/Data/PseudoBoolean/Types.hs b/src/Data/PseudoBoolean/Types.hs
--- a/src/Data/PseudoBoolean/Types.hs
+++ b/src/Data/PseudoBoolean/Types.hs
@@ -58,7 +58,7 @@
   , pbNumVars :: !Int
   , pbNumConstraints :: !Int
   }
-  deriving (Eq, Ord, Show, Typeable, Data, Generic)
+  deriving (Eq, Ord, Show, Read, Typeable, Data, Generic)
 
 instance NFData Formula
 instance Hashable Formula
@@ -70,7 +70,7 @@
 data Op
   = Ge -- ^ /greater than or equal/
   | Eq -- ^ /equal/
-  deriving (Eq, Ord, Show, Enum, Bounded, Typeable, Data, Generic)
+  deriving (Eq, Ord, Show, Read, Enum, Bounded, Typeable, Data, Generic)
 
 instance NFData Op
 instance Hashable Op
@@ -83,7 +83,7 @@
   , wboNumVars :: !Int
   , wboNumConstraints :: !Int
   }
-  deriving (Eq, Ord, Show, Typeable, Data, Generic)
+  deriving (Eq, Ord, Show, Read, Typeable, Data, Generic)
 
 instance NFData SoftFormula
 instance Hashable SoftFormula
