diff --git a/hoodle-types.cabal b/hoodle-types.cabal
--- a/hoodle-types.cabal
+++ b/hoodle-types.cabal
@@ -1,5 +1,5 @@
 Name:		hoodle-types
-Version:	0.2
+Version:	0.2.1
 Synopsis:	Data types for programs for hoodle file format
 Description: 	Hoodle file format data type including generic interface
 License: 	BSD3
@@ -37,7 +37,6 @@
                    Data.Hoodle.Select
                    Data.Hoodle.Simple
                    Data.Hoodle.Simple.V0_1_1
-                   -- Data.Hoodle.Simple.V0_1_999
                    Data.Hoodle.Util
                    Data.Hoodle.Zipper 
 
diff --git a/src/Data/Hoodle/Generic.hs b/src/Data/Hoodle/Generic.hs
--- a/src/Data/Hoodle/Generic.hs
+++ b/src/Data/Hoodle/Generic.hs
@@ -36,6 +36,7 @@
 data GHoodle cntnr pg = GHoodle 
                         { ghoodle_id :: ByteString 
                         , ghoodle_ttl :: ByteString 
+                        , ghoodle_revisions :: [Revision]
                         , ghoodle_embeddedpdf :: Maybe ByteString 
                         , ghoodle_pgs :: cntnr pg }  
 
@@ -72,7 +73,7 @@
   
 -- | 
 instance (Functor cntnr) => Functor (GHoodle cntnr) where
-  fmap f (GHoodle hid ttl pdf pgs) = GHoodle hid ttl pdf (fmap f pgs)
+  fmap f (GHoodle hid ttl revs pdf pgs) = GHoodle hid ttl revs pdf (fmap f pgs)
 
 ------------------------------
 -- lenses for Generic types --
@@ -87,6 +88,10 @@
 gtitle = lens ghoodle_ttl (\f a -> f { ghoodle_ttl = a } )
 
 -- | 
+grevisions :: Simple Lens (GHoodle cntnr pg) [Revision]
+grevisions = lens ghoodle_revisions (\f a -> f { ghoodle_revisions = a } )
+
+-- | 
 gembeddedpdf :: Simple Lens (GHoodle cntnr pg) (Maybe ByteString)
 gembeddedpdf = lens ghoodle_embeddedpdf (\f a -> f { ghoodle_embeddedpdf = a } )
 
@@ -141,7 +146,7 @@
 emptyGHoodle :: (Listable m) => IO (GHoodle m a)
 emptyGHoodle = do 
   uuid <- nextRandom
-  return $ GHoodle ((pack.show) uuid) "" Nothing (fromList [])
+  return $ GHoodle ((pack.show) uuid) "" [] Nothing (fromList [])
 
 -- | 
 emptyGPage :: (Listable cntnr) => Dimension -> bkg -> GPage bkg cntnr a 
diff --git a/src/Data/Hoodle/Generic/Simple.hs b/src/Data/Hoodle/Generic/Simple.hs
--- a/src/Data/Hoodle/Generic/Simple.hs
+++ b/src/Data/Hoodle/Generic/Simple.hs
@@ -47,6 +47,7 @@
 mkSHoodle = GHoodle 
             <$> view hoodleID
             <*> view title 
+            <*> view revisions
             <*> view embeddedPdf 
             <*> map mkSPage . view pages
 
@@ -60,5 +61,5 @@
 
 -- | 
 shoodle2Hoodle :: SHoodle -> Hoodle
-shoodle2Hoodle (GHoodle hid ttl pdf pgs) = Hoodle hid ttl pdf (map spage2Page pgs)
+shoodle2Hoodle (GHoodle hid ttl revs pdf pgs) = Hoodle hid ttl revs pdf (map spage2Page pgs)
 
diff --git a/src/Data/Hoodle/Select.hs b/src/Data/Hoodle/Select.hs
--- a/src/Data/Hoodle/Select.hs
+++ b/src/Data/Hoodle/Select.hs
@@ -20,10 +20,12 @@
 import Data.ByteString 
 --
 import Data.Hoodle.Generic 
+import Data.Hoodle.Simple 
 
 -- | 
 data GSelect a b = GSelect { gselect_id :: ByteString 
                            , gselect_ttl :: ByteString 
+                           , gselect_revisions :: [Revision]
                            , gselect_embeddedpdf :: Maybe ByteString 
                            , gselect_all :: a 
                            , gselect_selected :: b
@@ -36,6 +38,10 @@
 gselTitle :: Simple Lens (GSelect a b) ByteString
 gselTitle = lens gselect_ttl (\f a -> f {gselect_ttl = a})
 
+-- | 
+gselRevisions :: Simple Lens (GSelect a b) [Revision]
+gselRevisions = lens gselect_revisions (\f a -> f {gselect_revisions = a } )
+
 -- |
 gselEmbeddedPdf :: Simple Lens (GSelect a b) (Maybe ByteString)
 gselEmbeddedPdf = lens gselect_embeddedpdf (\f a -> f {gselect_embeddedpdf = a})
@@ -52,6 +58,7 @@
 gSelect2GHoodle :: GSelect (m a) b -> GHoodle m a 
 gSelect2GHoodle = GHoodle <$> view gselHoodleID
                           <*> view gselTitle 
+                          <*> view gselRevisions
                           <*> view gselEmbeddedPdf 
                           <*> view gselAll 
 
@@ -59,6 +66,7 @@
 gHoodle2GSelect :: GHoodle m a -> GSelect (m a) (Maybe b)
 gHoodle2GSelect = GSelect <$> view ghoodleID
                           <*> view gtitle 
+                          <*> view grevisions
                           <*> view gembeddedpdf
                           <*> view gpages
                           <*> pure Nothing 
diff --git a/src/Data/Hoodle/Simple.hs b/src/Data/Hoodle/Simple.hs
--- a/src/Data/Hoodle/Simple.hs
+++ b/src/Data/Hoodle/Simple.hs
@@ -198,10 +198,17 @@
                 | BackgroundEmbedPdf { bkg_type :: ByteString
                                      , bkg_pageno :: Int } 
                 deriving Show 
+-- | 
+data Revision = Revision { _revmd5 :: !ByteString 
+                         , _revtxt :: !ByteString 
+                         }  
+              deriving Show 
 
+
 -- | 
 data Hoodle = Hoodle { hoodle_id :: ByteString
                      , hoodle_title :: !Title
+                     , hoodle_revisions :: [Revision]
                      , hoodle_embeddedpdf :: Maybe ByteString
                      , hoodle_pages :: ![Page] }
              deriving Show 
@@ -243,6 +250,18 @@
 title = lens hoodle_title (\f a -> f { hoodle_title = a } )
 
 -- | 
+revisions :: Simple Lens Hoodle [Revision]
+revisions = lens hoodle_revisions (\f a -> f { hoodle_revisions = a } )
+
+-- | 
+revmd5 :: Simple Lens Revision ByteString
+revmd5 = lens _revmd5 (\f a -> f { _revmd5 = a } )
+
+-- | 
+revtxt :: Simple Lens Revision ByteString
+revtxt = lens _revtxt (\f a -> f { _revtxt = a } )
+
+-- | 
 embeddedPdf :: Simple Lens Hoodle (Maybe ByteString)
 embeddedPdf = lens hoodle_embeddedpdf (\f a -> f { hoodle_embeddedpdf = a} )
 
@@ -250,6 +269,7 @@
 pages :: Simple Lens Hoodle [Page]
 pages = lens hoodle_pages (\f a -> f { hoodle_pages = a } )
 
+
 -- | 
 dimension :: Simple Lens Page Dimension 
 dimension = lens page_dim (\f a -> f { page_dim = a } )
@@ -275,7 +295,7 @@
 emptyHoodle :: IO Hoodle
 emptyHoodle = do
   uuid <- nextRandom
-  return $ Hoodle ((pack.show) uuid) "" Nothing [] 
+  return $ Hoodle ((pack.show) uuid) "" [] Nothing [] 
 
 -- | 
 emptyLayer :: Layer 
@@ -304,6 +324,7 @@
 defaultHoodle = 
     (set title "untitled".set embeddedPdf Nothing . set pages [defaultPage])
     <$> emptyHoodle 
+
 -- | 
 newPageFromOld :: Page -> Page
 newPageFromOld page = 
