diff --git a/osek-verification.cabal b/osek-verification.cabal
index ff2a7c0ee65534a65f8aa846931df2ff5e9ac1fe..0330434eda7a8951124bf2dae4a98e9382264ce3 100644
--- a/osek-verification.cabal
+++ b/osek-verification.cabal
@@ -23,6 +23,7 @@ library
                      , CFG.Sanitize
                      , Search.States2Dot
                      , Search.Search2
+                     , Search.Types
                      , Protocol
   hs-source-dirs:      src
   build-depends:       base >=4.9 && <4.10
diff --git a/src/Search/Search.hs b/src/Search/Search.hs
index 95fcf2ff25fc2c713e602a50dd3edfd792f5305f..e5814ec6b97466dfccb7e5a1ad66ca8c6b808e26 100644
--- a/src/Search/Search.hs
+++ b/src/Search/Search.hs
@@ -10,7 +10,6 @@ import           Data.Map (Map)
 import qualified Data.Map as M
 import           Data.Maybe
 import           Data.Monoid
-import           Data.Set (Set)
 import qualified Data.Set as S
 import           Data.Text (Text)
 import qualified Data.Text as T
@@ -23,25 +22,8 @@ import           System.Process
 import           Data.Aeson
 
 import           Protocol
+import           Search.Types
 
-data Metadata = Metadata
-  { metaFunc :: Text -- ^ Function Name
-  , metaSyscall :: Text -- ^ Next Syscall
-  }
-
--- | (Statehash, Metadata)
-data Vertex = Vertex
-  { vertState :: Text
-  , vertMeta :: Metadata
-  }
-
-instance Eq Vertex where
-  Vertex x meta1 == Vertex y meta2 = (x, metaSyscall meta1) == (y, metaSyscall meta2)
-
-instance Ord Vertex where
-  compare (Vertex x meta1) (Vertex y meta2) = compare (x, metaSyscall meta1) (y, metaSyscall meta2)
-
-type Graph = Map Vertex (Set Vertex)
 
 type DecisionNumber = Int
 type Decision = (Vertex, DecisionNumber)
@@ -170,7 +152,7 @@ parseLine handle = do
           return $ Decision num
         Just (BeforeSyscall state call func) ->
           return $ NewState $ Vertex state (Metadata func call)
-        Just (AtBasicBlock state abb) ->
+        Just (AtBasicBlock state abb meta) ->
           parseLine handle -- TODO
 
 handleLine :: Handle -> IORef State -> IO LineOut
diff --git a/src/Search/Types.hs b/src/Search/Types.hs
new file mode 100644
index 0000000000000000000000000000000000000000..d19705d0b1805276d38b1bb76f6a2a733ae66f56
--- /dev/null
+++ b/src/Search/Types.hs
@@ -0,0 +1,28 @@
+module Search.Types
+  ( Metadata(..)
+  , Vertex(..)
+  , Graph
+  ) where
+
+import           Data.Text (Text)
+import           Data.Map (Map)
+import           Data.Set (Set)
+
+data Metadata = Metadata
+  { metaFunc :: Text -- ^ Function Name
+  , metaSyscall :: Text -- ^ Next Syscall
+  }
+
+-- | (Statehash, Metadata)
+data Vertex = Vertex
+  { vertState :: Text
+  , vertMeta :: Metadata
+  }
+
+instance Eq Vertex where
+  Vertex x meta1 == Vertex y meta2 = (x, metaSyscall meta1) == (y, metaSyscall meta2)
+
+instance Ord Vertex where
+  compare (Vertex x meta1) (Vertex y meta2) = compare (x, metaSyscall meta1) (y, metaSyscall meta2)
+
+type Graph = Map Vertex (Set Vertex)