diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for `password`
 
+## 3.1.0.2
+
+-   Added reference to [password-cli](https://github.com/cdepillabout/password/tree/master/password-cli) package in modules and README.
+
 ## 3.1.0.1
 
 -   Redo the conditionals in the `password.cabal` file so that the scrypt
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 This library provides functions for working with passwords and password hashes in Haskell.
 
-Currently supports the following algorithms:
+It currently supports the following algorithms:
 
 * `PBKDF2`
 * `bcrypt`
@@ -17,3 +17,5 @@
 
 Also, see the [password-instances](https://hackage.haskell.org/package/password-instances)
 package for instances for common typeclasses.
+
+To quickly test and use `password`, you can use [password-cli](https://github.com/cdepillabout/password/tree/master/password-cli).
diff --git a/password.cabal b/password.cabal
--- a/password.cabal
+++ b/password.cabal
@@ -1,7 +1,7 @@
 cabal-version: 1.12
 
 name:           password
-version:        3.1.0.1
+version:        3.1.0.2
 category:       Data
 synopsis:       Hashing and checking of passwords
 description:
@@ -115,7 +115,7 @@
     , bytestring  >= 0.9      && < 0.13
     , memory                     < 1
     , password-types             < 2
-    , template-haskell
+    , template-haskell >= 2.2 && < 3
     , text        >= 1.2.2    && < 3
   ghc-options:
       -Wall
diff --git a/src/Data/Password/Argon2.hs b/src/Data/Password/Argon2.hs
--- a/src/Data/Password/Argon2.hs
+++ b/src/Data/Password/Argon2.hs
@@ -33,6 +33,15 @@
 It is, however, recommended over @'Data.Password.Scrypt.Scrypt'@ most of the time,
 and it also seems like it might become the go-to password algorithm if no
 vulnarabilities are discovered within the next couple of years.
+
+== Testing
+
+You can use [password-cli](https://github.com/cdepillabout/password/tree/master/password-cli) to test it:
+
+> $ password-cli check argon2 --hash 'SOME-HASH'
+
+> $ password-cli hash argon2 --password-file password.txt
+
 -}
 
 -- I think the portability is broadened to
diff --git a/src/Data/Password/Bcrypt.hs b/src/Data/Password/Bcrypt.hs
--- a/src/Data/Password/Bcrypt.hs
+++ b/src/Data/Password/Bcrypt.hs
@@ -42,6 +42,15 @@
 because of the 1 character-long "$2$" version prefix, @bcrypt@ has had a version increase shortly
 after release, turning the prefix into a 2 character-long one like "$2a$" pretty
 much from the very beginning.
+
+== Testing
+
+You can use [password-cli](https://github.com/cdepillabout/password/tree/master/password-cli) to test it:
+
+> $ password-cli check bcrypt --hash 'SOME-HASH'
+
+> $ password-cli hash bcrypt --password-file password.txt
+
 -}
 
 module Data.Password.Bcrypt (
diff --git a/src/Data/Password/PBKDF2.hs b/src/Data/Password/PBKDF2.hs
--- a/src/Data/Password/PBKDF2.hs
+++ b/src/Data/Password/PBKDF2.hs
@@ -35,6 +35,15 @@
 would probably be the safest option, as it has no memory cost which
 could become a problem if not properly calibrated to the machine
 doing the password verifications.
+
+== Testing
+
+You can use [password-cli](https://github.com/cdepillabout/password/tree/master/password-cli) to test it:
+
+> $ password-cli check pbkdf2 --hash 'SOME-HASH'
+
+> $ password-cli hash pbkdf2 --password-file password.txt
+
 -}
 
 module Data.Password.PBKDF2 (
diff --git a/src/Data/Password/Scrypt.hs b/src/Data/Password/Scrypt.hs
--- a/src/Data/Password/Scrypt.hs
+++ b/src/Data/Password/Scrypt.hs
@@ -30,6 +30,15 @@
 Because of the memory cost, it is generally advised to use
 @'Data.Password.Bcrypt.Bcrypt'@ if you're not sure this might be a
 problem on your system.
+
+== Testing
+
+You can use [password-cli](https://github.com/cdepillabout/password/tree/master/password-cli) to test it:
+
+> $ password-cli check scrypt --hash 'SOME-HASH'
+
+> $ password-cli hash scrypt --password-file password.txt
+
 -}
 
 module Data.Password.Scrypt (
