diff --git a/BioHMM.cabal b/BioHMM.cabal
--- a/BioHMM.cabal
+++ b/BioHMM.cabal
@@ -1,5 +1,5 @@
 name:                BioHMM
-version:             1.0.0
+version:             1.0.1
 synopsis:            Libary containing parsing and visualisation functions and datastructures for Hidden Markov Models in HMMER3 format. 
 -- description:         
 license:             GPL-3
@@ -20,14 +20,15 @@
 
 source-repository this
   type:     git
-  location: https://github.com/eggzilla/HMM/tree/1.0.0
-  tag:      1.0.0
+  location: https://github.com/eggzilla/HMM/tree/1.0.1
+  tag:      1.0.1
 
 library
   -- Modules exported by the library.
   exposed-modules:   Bio.HMMData
                      Bio.HMMParser
                      Bio.HMMDraw
+                     Bio.HMMCompareResult
 
   -- compiler-options:
   ghc-options:         -Wall -O2 -fno-warn-unused-do-bind
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-HMM
+BioHMM [![Hackage](https://img.shields.io/hackage/v/BioHMM.svg)](https://hackage.haskell.org/package/BioHMM) [![Build Status](https://travis-ci.org/eggzilla/BioHMM.svg?branch=master)](https://travis-ci.org/eggzilla/BioHMM)
 ====
 
 Libary containing parsing and visualisation functions, as well as datastructures for Hidden Markov Models in HMMER3 format.
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
 -*-change-log-*-
+1.0.1 Florian Eggenhofer <egg@informatik.uni-freiburg.de> 22. December 2016
+        * Bugfix - added Bio.HMMCompare to exported modules
 1.0.0 Florian Eggenhofer <egg@informatik.uni-freiburg.de> 22. December 2016
         * Initial release
diff --git a/src/Bio/HMMCompareResult.hs b/src/Bio/HMMCompareResult.hs
new file mode 100644
--- /dev/null
+++ b/src/Bio/HMMCompareResult.hs
@@ -0,0 +1,103 @@
+-- | Parse HMMCompare output
+
+module Bio.HMMCompareResult
+    (
+     HMMCompareResult,
+     parseHMMCompareResult,
+     readHMMCompareResult,
+     model1Name,
+     model2Name,
+     linkscore1, 
+     linkscore2,
+     linksequence,
+     model1matchednodes,
+     model2matchednodes,
+     getHMMCompareResults,
+     getModelsNames,
+     getModelNames
+    ) where
+
+import Text.ParserCombinators.Parsec     
+import Control.Monad
+
+-- | Datastructure for result strings of comparisons between covariance models by HMMCompare
+data HMMCompareResult = HMMCompareResult           
+  { model1Name :: String,
+    model2Name :: String,
+    linkscore1 :: Double,
+    linkscore2 :: Double,
+    linksequence  :: String,
+    model1matchednodes :: [Int],
+    model2matchednodes :: [Int]
+  } deriving (Show)
+
+-- | parse HMMCompareResult model from input string
+parseHMMCompareResult :: [Char] -> Either ParseError [HMMCompareResult]
+parseHMMCompareResult input = parse genParseHMMCompareResults "HMMCompareResult" input
+
+-- | parse HMMCompareResult from input filePath                      
+readHMMCompareResult :: String -> IO (Either ParseError [HMMCompareResult])                  
+readHMMCompareResult filePath = do 
+  parsedFile <- parseFromFile genParseHMMCompareResults filePath
+  return parsedFile
+
+-- | Parse the input as HMMCompareResult datatype
+genParseHMMCompareResults :: GenParser Char st [HMMCompareResult]
+genParseHMMCompareResults = do
+  hmmcs  <- many1 (try genParseHMMCompareResult)
+  eof
+  return hmmcs
+
+readDouble :: String -> Double
+readDouble = read              
+
+readInt :: String -> Int
+readInt = read
+
+-- | Parse a HMMCompare result string
+genParseHMMCompareResult :: GenParser Char st HMMCompareResult
+genParseHMMCompareResult = do
+    name1 <-  many1 (noneOf " ")
+    _ <- many1 space
+    name2 <-  many1 (noneOf " ")
+    _ <- many1 space
+    score1 <- many1 (noneOf " ")
+    _ <- many1 space
+    score2 <- many1 (noneOf " ")
+    _ <- many1 space
+    linkseq <- many1 (oneOf "AGTCUagtcu")
+    _ <- many1 space
+    _ <- char '['
+    nodes1 <- many1 parseMatchedNodes
+    _ <- char ']'
+    _ <- many1 space
+    _ <- char '['
+    nodes2 <- many1 parseMatchedNodes
+    _ <- char ']'
+    newline
+    return $ HMMCompareResult name1 name2 (readDouble score1) (readDouble score2) linkseq nodes1 nodes2
+
+-- | Parse indices of matched nodes between models as integers
+parseMatchedNodes :: GenParser Char st Int 
+parseMatchedNodes = do
+    nodeNumber <- many1 digit
+    optional (char ',')
+    return $ (readInt nodeNumber)
+
+-- | Parser for HMMCompare result strings
+getHMMCompareResults :: FilePath -> IO [Either ParseError HMMCompareResult]    
+getHMMCompareResults filePath = let
+        fp = filePath
+        doParseLine' = parse genParseHMMCompareResult "genParseHMMCompareResults"
+        --doParseLine l = case (doParseLine' l) of
+        --    Right x -> x
+        --    Left _  -> error "Failed to parse line"
+    in do
+        fileContent <- liftM lines $ readFile fp
+        return $ map doParseLine' fileContent
+
+getModelsNames :: [HMMCompareResult] -> [String]
+getModelsNames models = concat (map getModelNames models)
+
+getModelNames :: HMMCompareResult -> [String]
+getModelNames model = [model1Name model,model2Name model]
