diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,13 @@
+0.13.1
+===
+- added Data instances
+
+
+0.13
+===
+- removed randomS, randomSM, randomSs
+- removed random dependency
+
 0.12
 ==
 * rx,ry,rz,rw added to NumHask.Space.Rect
diff --git a/numhask-space.cabal b/numhask-space.cabal
--- a/numhask-space.cabal
+++ b/numhask-space.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name: numhask-space
-version: 0.13.0.1
+version: 0.13.1.0
 license: BSD-3-Clause
 license-file: LICENSE
 copyright: Tony Day (c) 2016
diff --git a/src/NumHask/Space/Point.hs b/src/NumHask/Space/Point.hs
--- a/src/NumHask/Space/Point.hs
+++ b/src/NumHask/Space/Point.hs
@@ -21,6 +21,7 @@
   )
 where
 
+import Data.Data
 import Data.Distributive
 import Data.Functor.Classes
 import Data.Functor.Rep
@@ -59,7 +60,7 @@
   { _x :: a,
     _y :: a
   }
-  deriving (Eq, Generic)
+  deriving (Eq, Generic, Data)
 
 instance Eq1 Point where
   liftEq f (Point a b) (Point c d) = f a c && f b d
diff --git a/src/NumHask/Space/Range.hs b/src/NumHask/Space/Range.hs
--- a/src/NumHask/Space/Range.hs
+++ b/src/NumHask/Space/Range.hs
@@ -10,6 +10,7 @@
   )
 where
 
+import Data.Data
 import Data.Distributive as D
 import Data.Functor.Apply (Apply (..))
 import Data.Functor.Classes
@@ -56,7 +57,7 @@
 -- >>> gridSpace (Range 0.0 1.0) 4
 -- [Range 0.0 0.25,Range 0.25 0.5,Range 0.5 0.75,Range 0.75 1.0]
 data Range a = Range a a
-  deriving (Eq, Generic)
+  deriving (Eq, Generic, Data)
 
 instance Eq1 Range where
   liftEq f (Range a b) (Range c d) = f a c && f b d
diff --git a/src/NumHask/Space/Rect.hs b/src/NumHask/Space/Rect.hs
--- a/src/NumHask/Space/Rect.hs
+++ b/src/NumHask/Space/Rect.hs
@@ -29,6 +29,7 @@
   )
 where
 
+import Data.Data
 import Data.Distributive as D
 import Data.Functor.Compose
 import Data.Functor.Rep
@@ -87,7 +88,8 @@
       Applicative,
       Foldable,
       Traversable,
-      Generic
+      Generic,
+      Data
     )
 
 -- | pattern of Rect lowerx upperx lowery uppery
diff --git a/src/NumHask/Space/Time.hs b/src/NumHask/Space/Time.hs
--- a/src/NumHask/Space/Time.hs
+++ b/src/NumHask/Space/Time.hs
@@ -19,6 +19,7 @@
 where
 
 import Data.Containers.ListUtils (nubOrd)
+import Data.Data
 import Data.Fixed (Fixed (MkFixed))
 import Data.Sequence qualified as Seq
 import Data.Text (Text, pack, unpack)
@@ -44,7 +45,7 @@
   | Hours Int
   | Minutes Int
   | Seconds Double
-  deriving (Show, Eq, Generic)
+  deriving (Eq, Show, Generic, Data)
 
 grainSecs :: TimeGrain -> Double
 grainSecs (Years n) = fromIntegral n * 365.0 * fromNominalDiffTime nominalDay
