diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
 # Changelog
 
+## [0.3.1] - 2018-02-18
+
+### Added
+
+- `Eq` and `Show` instances for `Matrix CVec3`
+
 ## [0.3] - 2018-02-18
 
 ### Added
@@ -42,6 +48,7 @@
 
 ## [0.1.0.0] - 2012-12-05
 
+[0.3.1]:   https://github.com/dzhus/simple-vec3/compare/0.3...0.3.1
 [0.3]:     https://github.com/dzhus/simple-vec3/compare/0.2...0.3
 [0.2]:     https://github.com/dzhus/simple-vec3/compare/0.1.0.1...0.2
 [0.1.0.1]: https://github.com/dzhus/simple-vec3/compare/0.1.0.0...0.1.0.1
diff --git a/simple-vec3.cabal b/simple-vec3.cabal
--- a/simple-vec3.cabal
+++ b/simple-vec3.cabal
@@ -1,5 +1,5 @@
 name: simple-vec3
-version: 0.3
+version: 0.3.1
 cabal-version: >=1.10
 build-type: Simple
 license: BSD3
diff --git a/src/Data/Vec3.hs b/src/Data/Vec3.hs
--- a/src/Data/Vec3.hs
+++ b/src/Data/Vec3.hs
@@ -52,7 +52,8 @@
 
 
 instance Vec3 CVec3 where
-    newtype Matrix CVec3 = UMatrix (CVec3, CVec3, CVec3)
+    newtype Matrix CVec3 = TMatrix (CVec3, CVec3, CVec3)
+                           deriving (Eq, Show)
 
     fromXYZ (x, y, z) = CVec3 x y z
     {-# INLINE fromXYZ #-}
@@ -60,10 +61,10 @@
     toXYZ (CVec3 x y z) = (x, y, z)
     {-# INLINE toXYZ #-}
 
-    fromRows (r1, r2, r3) = UMatrix (r1, r2, r3)
+    fromRows (r1, r2, r3) = TMatrix (r1, r2, r3)
     {-# INLINE fromRows #-}
 
-    toRows (UMatrix (r1, r2, r3)) = (r1, r2, r3)
+    toRows (TMatrix (r1, r2, r3)) = (r1, r2, r3)
     {-# INLINE toRows #-}
 
 
