diff --git a/Messente.hs b/Messente.hs
--- a/Messente.hs
+++ b/Messente.hs
@@ -1,4 +1,32 @@
 {-# LANGUAGE OverloadedStrings, DeriveDataTypeable #-}
+{-|
+Module      : Messente
+Description : Messente SMS Gateway wrapper library
+License     : MIT
+Maintainer  : kaiko@zazler.com
+
+Example
+
+@
+import Messente
+
+smsSend = send \"api-username\" \"api-password\"
+main = do
+  result <- smsSend Nothing \"+00000000000\" \"my first sms\"
+  putStrLn $ case result of
+    Right id -> \"sms sent, id: \" ++ id
+    Left (errNo, errStr) -> \"not sent: \" ++ show errNo ++ \", \" ++ errStr
+
+  listen 9000 delivery
+
+delivery :: Delivery -> IO ()
+delivery del = putStrLn $
+  case del of
+    Delivered id  -> \"delivered \" ++ id
+    DeliveryError id errNo errStr -> \"not delivered \" ++ id ++ \": \" ++ errStr
+    DeliveryProgress id status    -> \"progress \"      ++ id ++ \": \" ++ status
+@
+-}
 module Messente
   ( Delivery(..)
   , MessenteError(..)
@@ -25,6 +53,7 @@
 
 servers = [ "api2.messente.com", "api3.messente.com" ]
 
+-- |Messente SMS textual id 
 type SmsID = String
 
 -- |Exceptions for Messente API
@@ -34,7 +63,7 @@
   | InvalidParameters [(String, String)]
   | InvalidSender String
   | MissingPin
-  | ServersDown           -- ^ All servers gave "FAILED 209"
+  | ServersDown           -- ^ All servers gave @FAILED 209@
   | Unknown String        -- ^ Just in case. Argument contains http response as it is.
   deriving (Typeable)
 
@@ -48,7 +77,6 @@
   show (InvalidSender s    ) = "You must register this sender from Messente API (" ++ s ++ ")"
   show (Unknown       s    ) = "Unknown Messente error: " ++ s
 
--- |All possible delivery states.
 data Delivery
   = Delivered SmsID                 -- ^ Happy final state
   | DeliveryError SmsID Int String  -- ^ Negative final state
@@ -73,6 +101,7 @@
          ] ++ maybe [] (\f -> [("from", f)]) from
 
 -- |Listens delivery reports
+-- Takes port number and callback function as arguments.
 listen :: Int -> (Delivery -> IO ()) -> IO ()
 listen port fn =
   withSocketsDo $
@@ -110,6 +139,8 @@
     q = [ ("username",    apiUser    )
         , ("password",    apiPassword)
         , ("sms_uniq_id", id         ) ]
+
+------------
 
 doRequest :: [String] -> String -> IO BL.ByteString
 doRequest [] _ = throw ServersDown
diff --git a/messente.cabal b/messente.cabal
--- a/messente.cabal
+++ b/messente.cabal
@@ -1,5 +1,5 @@
 name:   messente
-version:  0.1.0.0
+version:  0.1.0.1
 cabal-Version:  >= 1.8
 license:  MIT
 license-File: LICENSE
@@ -9,9 +9,14 @@
 category: API
 synopsis: Messente SMS Gateway
 build-type: Simple
+-- description: ...
 
+source-repository head
+  type:     git
+  location: https://github.com/kaiko/messente-haskell
+
 Library
-  Build-Depends: base >= 4.6 && <= 4.7, http-conduit >= 2.0 && <=2.1, bytestring == 0.10.*, network == 2.6.*, HTTP == 4000.2.*
+  Build-Depends: base > 4.2 && < 5, bytestring >= 0.9, network > 2.2 && < 2.7,  HTTP > 4000.1 && < 4000.3, http-conduit > 2.0 && < 2.2
   Exposed-modules:
     Messente
   Extensions: OverloadedStrings, DeriveDataTypeable
