diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@
 </p>
 
 [![CircleCI](https://circleci.com/gh/adjoint-io/aos-signature.svg?style=svg&circle-token=ec783d4839d6a26e274796dd6e014399eac3918b)](https://circleci.com/gh/adjoint-io/aos-signature)
+[![Hackage](https://img.shields.io/hackage/v/aos-signature.svg)](http://hackage.haskell.org/package/aos-signature)
 
 A ring signature, also know as a Spontaneous Anonymous Group (SAG) or 1-out-of-n signature, convinces a verifier that a message is signed by any member in a group of n independent signers without allowing the verifier to identify who the signer was.
 
@@ -86,7 +87,17 @@
 -------
 
 ```
-Copyright Adjoint Inc. (c) 2018
+Copyright 2018 Adjoint Inc
 
-All rights reserved.
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 ```
diff --git a/aos-signature.cabal b/aos-signature.cabal
--- a/aos-signature.cabal
+++ b/aos-signature.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: d214e3769ad5c9e277df99845fd5bef8e54ed9baaceb2483d09bfbbeb79d54da
+-- hash: 49e72abd8ff18005d2991860c0caea0b0e1aaa9dee2ff2a42a7e85e34c5e2869
 
 name:           aos-signature
-version:        0.1.0
+version:        0.1.1
 synopsis:       An implementation of the AOS signatures
 description:    An implementation of 1-out-of-n signatures from a variety of keys
 category:       Cryptography
diff --git a/src/LSAG.hs b/src/LSAG.hs
--- a/src/LSAG.hs
+++ b/src/LSAG.hs
@@ -15,6 +15,7 @@
 ) where
 
 import           Control.Monad.State
+import           Control.Monad.Fail
 import           Crypto.Hash
 import           Crypto.Number.Serialize      (os2ip)
 import           Crypto.Number.Generate       (generateBetween)
@@ -40,7 +41,7 @@
 -- reconstruct signature {s0 ... sn-1}.
 -- * y: Link for current signer.
 sign
-  :: MonadRandom m
+  :: (MonadRandom m, MonadFail m)
   => [ECDSA.PublicKey]                    -- ^ List of public keys
   -> (ECDSA.PublicKey, ECDSA.PrivateKey)  -- ^ Signer's public and private keys
   -> ByteString                           -- ^ Message
