diff --git a/matrix-market-attoparsec.cabal b/matrix-market-attoparsec.cabal
--- a/matrix-market-attoparsec.cabal
+++ b/matrix-market-attoparsec.cabal
@@ -1,5 +1,5 @@
 name:                matrix-market-attoparsec
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Attoparsec parsers for the NIST Matrix Market format
 description:         Please see README.md
 homepage:            https://github.com/ocramz/matrix-market-attoparsec
@@ -29,10 +29,8 @@
   build-depends:       attoparsec  >= 0.10
                      , base        >= 4.7 && < 5
                      , bytestring  >= 0.9
-                     , directory
                      , exceptions
                      , scientific  >= 0.3.4.9
-                     , vector      >= 0.7
 
 -- executable matrix-market-attoparsec
 --   default-language:    Haskell2010
diff --git a/src/Data/Matrix/MatrixMarket.hs b/src/Data/Matrix/MatrixMarket.hs
--- a/src/Data/Matrix/MatrixMarket.hs
+++ b/src/Data/Matrix/MatrixMarket.hs
@@ -1,3 +1,25 @@
-module Data.Matrix.MatrixMarket (module M) where
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Data.Matrix.MatrixMarket
+-- Copyright   :  (c) Marco Zocca 2017
+-- License     :  GPL-3 (see the file LICENSE)
+--
+-- Maintainer  :  zocca marco gmail
+-- Stability   :  experimental
+-- Portability :  portable
+--
+-- Attoparsec parser and serializer for the NIST MatrixMarket format. The parser logic originally appeared in `accelerate-examples` and it is reused here (courtesy of T.McDonell and the `accelerate` developers) with some amendments.
+-- 
+-- In this version:
+-- *) Numbers are represented with Scientific notation instead of floating point
+-- *) Parsing rules are a bit relaxed to accommodate various whitespace corner cases
+--
+-----------------------------------------------------------------------------
+module Data.Matrix.MatrixMarket (module M, readMatrix, readArray,
+        writeMatrix, writeArray,
+        Matrix(..), Array(..),
+        Format (Coordinate, Array), Structure (General, Symmetric, Hermitian, Skew),
+        nnz, dim, numDat,
+        dimArr, numDatArr) where
 
 import Data.Matrix.MatrixMarket.Internal as M
diff --git a/src/Data/Matrix/MatrixMarket/Internal.hs b/src/Data/Matrix/MatrixMarket/Internal.hs
--- a/src/Data/Matrix/MatrixMarket/Internal.hs
+++ b/src/Data/Matrix/MatrixMarket/Internal.hs
@@ -3,7 +3,7 @@
 -- |
 -- Module      :  Data.Matrix.MatrixMarket.Internal
 -- Copyright   :  (c) Marco Zocca 2017
--- License     :  GPL-style (see the file LICENSE)
+-- License     :  GPL-3 (see the file LICENSE)
 --
 -- Maintainer  :  zocca marco gmail
 -- Stability   :  experimental
@@ -33,7 +33,7 @@
 import Data.Complex
 import qualified Data.Scientific as S
 import Data.Attoparsec.ByteString.Char8 hiding (I)
-import qualified Data.ByteString as BS
+-- import qualified Data.ByteString as BS
 import qualified Data.ByteString.Lazy.Char8 as B
 import qualified Data.Attoparsec.Lazy           as L
 import qualified Data.ByteString.Lazy           as L
@@ -309,10 +309,11 @@
 
 -- | String -> ByteString
 -- NB: do not abuse
-toBS :: String -> BS.ByteString
-toBS x = BS.pack $ (toEnum . C.ord) <$> x
+-- toBS :: String -> BS.ByteString
+-- toBS x = BS.pack $ (toEnum . C.ord) <$> x
 
 -- | String -> lazy ByteString
+-- NB: do not abuse
 toLBS :: String -> L.ByteString
 toLBS x = L.pack $ (toEnum . C.ord) <$> x
 
diff --git a/test/LibSpec.hs b/test/LibSpec.hs
--- a/test/LibSpec.hs
+++ b/test/LibSpec.hs
@@ -1,10 +1,9 @@
 module LibSpec where
 
-import Control.Exception
 import System.Directory (removeFile)
 
 import Test.Hspec
-import Test.Hspec.QuickCheck
+-- import Test.Hspec.QuickCheck
 
 import Data.Matrix.MatrixMarket
 
@@ -42,7 +41,7 @@
   (m,n) = dimArr mm
   d = m*n
 
-
+dataDir :: String
 dataDir = "data"
 
 roundTrip :: Format -> FilePath -> IO ()
