diff --git a/osek-verification.cabal b/osek-verification.cabal
index f18238d3570927d2229b7a9e14739168c37f0d9c..0104064f7a645539c5d252611fdf099a707e0eaf 100644
--- a/osek-verification.cabal
+++ b/osek-verification.cabal
@@ -25,6 +25,7 @@ library
                      , Search.Types
                      , Search.EpsilonElimination
                      , Protocol
+                     , Compare.Types
                      , Compare.Matching
   hs-source-dirs:      src
   build-depends:       base >=4.9 && <4.10
@@ -37,6 +38,7 @@ library
                      , bytestring >= 0.10 && <0.11
                      , mtl >= 2.2 && <2.3
                      , process >= 1.4 && <1.5
+                     , fgl >= 5.5 && < 5.6
   default-language:    Haskell2010
   ghc-options:         -Wall -fdefer-typed-holes -fno-warn-name-shadowing
 
diff --git a/src/Compare/Types.hs b/src/Compare/Types.hs
new file mode 100644
index 0000000000000000000000000000000000000000..20d9c94f41c59cec8cb2af88e2bf1f78cdf0db82
--- /dev/null
+++ b/src/Compare/Types.hs
@@ -0,0 +1,11 @@
+module Compare.Types
+  ( Graph(..)
+  ) where
+
+import qualified Data.Graph.Inductive as G
+
+-- | Pointed graph
+data Graph node edge = Graph
+  { graph :: G.Gr node edge
+  , point :: G.Node
+  }