diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
diff --git a/hydrogen-syntax.cabal b/hydrogen-syntax.cabal
--- a/hydrogen-syntax.cabal
+++ b/hydrogen-syntax.cabal
@@ -1,15 +1,15 @@
 name:                 hydrogen-syntax
-version:              0.7.1
-homepage:             https://github.com/scravy/hydrogen-syntax
+version:              0.10
+homepage:             https://scravy.de/hydrogen-syntax/
 synopsis:             Hydrogen Syntax
 license:              BSD3
 license-file:         LICENSE
-extra-source-files:   CHANGELOG.md
+extra-source-files:   CHANGELOG.md, README.md
 author:               Julian Fleischer
-maintainer:           julfleischer@paypal.com
+maintainer:           julian@scravy.de
 category:             Language
 build-type:           Simple
-cabal-version:        >=1.18
+cabal-version:        >=1.14
 
 source-repository head
     type:             git
@@ -20,8 +20,8 @@
                       , Hydrogen.Syntax.Types
   build-depends:      base ==4.7.*
                       , containers ==0.5.* 
-                      , hydrogen-prelude ==0.7.1
-                      , hydrogen-util ==0.7.1
+                      , hydrogen-prelude ==0.10
+                      , hydrogen-parsing ==0.10
                       , nicify ==1.1.*
                       , parsec ==3.1.*
                       , uuid ==1.3.*
@@ -29,6 +29,8 @@
   ghc-options:        -Wall
   default-language:   Haskell2010
   default-extensions:  CPP
+                       , DeriveDataTypeable
+                       , DeriveGeneric
                        , EmptyCase
                        , FlexibleContexts
                        , GADTs
diff --git a/src/Hydrogen/Syntax/Parser.hs b/src/Hydrogen/Syntax/Parser.hs
--- a/src/Hydrogen/Syntax/Parser.hs
+++ b/src/Hydrogen/Syntax/Parser.hs
@@ -3,7 +3,7 @@
 import Hydrogen.Prelude hiding ((<|>), many)
 import Hydrogen.Syntax.Types
 
-import Hydrogen.Util.Parsec.Char hiding (token, tokens, space)
+import Hydrogen.Parsing.Char hiding (token, tokens, space)
 
 
 tokenize :: String -> Parser String (Tokens Token)
diff --git a/src/Hydrogen/Syntax/Types.hs b/src/Hydrogen/Syntax/Types.hs
--- a/src/Hydrogen/Syntax/Types.hs
+++ b/src/Hydrogen/Syntax/Types.hs
@@ -1,28 +1,34 @@
 module Hydrogen.Syntax.Types where
 
 import Hydrogen.Prelude
-import Hydrogen.Util.Parsec
+import Hydrogen.Parsing
 
 type POPs = [(SourcePos, POP)]
 
 data POP where
     Token :: TokenType -> [Char] -> [Char] -> POP
     Block :: BlockType -> [Char] -> POPs -> POP
-  deriving (Show)
+  deriving (Eq, Ord, Show, Typeable, Generic)
 
+instance Serialize POP
+
 data TokenType where
     AposString :: TokenType
     QuotString :: TokenType
     TickString :: TokenType
     SomethingT :: TokenType
-  deriving (Eq, Show)
+  deriving (Eq, Ord, Show, Typeable, Generic)
 
+instance Serialize TokenType
+
 data BlockType where
     Grouping :: BlockType
     Brackets :: BlockType
     Mustache :: BlockType
-  deriving (Eq, Show)
+  deriving (Eq, Ord, Show, Typeable, Generic)
 
+instance Serialize BlockType
+
 data Token where
     TComma :: Token
     TSemicolon :: Token
@@ -32,5 +38,6 @@
     TIndent :: Int -> Token
     TSpaces :: Token
     TString :: [Char] -> Char -> [Char] -> Token
-  deriving (Show)
+  deriving (Eq, Ord, Show, Typeable, Generic)
 
+instance Serialize Token
