diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -74,6 +74,8 @@
 
 &nbsp;&nbsp;&nbsp;&nbsp;&#x2612;&nbsp;&nbsp;2017-03-31  v0.12.0.0 [Move IsRegex into Text.RE](https://github.com/iconnect/regex/milestone/16)
 
+&nbsp;&nbsp;&nbsp;&nbsp;&#x2612;&nbsp;&nbsp;2017-04-02  v0.13.0.0 [Protect findCaptureID and add Find, re-sort-imports, tutorials](https://github.com/iconnect/regex/milestone/17)
+
 &nbsp;&nbsp;&nbsp;&nbsp;&#x2610;&nbsp;&nbsp;2017-04-03  v1.0.0.0  [First stable release](https://github.com/iconnect/regex/milestone/3)
 
 &nbsp;&nbsp;&nbsp;&nbsp;&#x2610;&nbsp;&nbsp;2017-08-31  v2.0.0.0  [Fast text replacement with benchmarks](https://github.com/iconnect/regex/milestone/4)
diff --git a/Text/RE/PCRE.hs b/Text/RE/PCRE.hs
--- a/Text/RE/PCRE.hs
+++ b/Text/RE/PCRE.hs
@@ -67,19 +67,19 @@
   ) where
 
 
-import qualified Text.Regex.Base                          as B
-import qualified Text.Regex.PCRE                          as PCRE
 import           Text.RE.PCRE.ByteString()
 import           Text.RE.PCRE.ByteString.Lazy()
 import           Text.RE.PCRE.Sequence()
 import           Text.RE.PCRE.String()
 import           Text.RE.REOptions
 import           Text.RE.ZeInternals.AddCaptureNames
-import           Text.RE.ZeInternals.SearchReplace.PCRE
 import           Text.RE.ZeInternals.PCRE
+import           Text.RE.ZeInternals.SearchReplace.PCRE
 import           Text.RE.ZeInternals.Types.IsRegex
 import           Text.RE.ZeInternals.Types.Match
 import           Text.RE.ZeInternals.Types.Matches
+import qualified Text.Regex.Base                          as B
+import qualified Text.Regex.PCRE                          as PCRE
 
 
 -- | find all the matches in the argument text; e.g., to count the number
diff --git a/Text/RE/PCRE/ByteString.hs b/Text/RE/PCRE/ByteString.hs
--- a/Text/RE/PCRE/ByteString.hs
+++ b/Text/RE/PCRE/ByteString.hs
@@ -59,14 +59,14 @@
   , module Text.RE.ZeInternals.SearchReplace.PCRE.ByteString
   ) where
 
-import           Prelude.Compat
 import qualified Data.ByteString               as B
 import           Data.Typeable
+import           Prelude.Compat
 import           Text.RE.REOptions
 import           Text.RE.Replace
 import           Text.RE.ZeInternals.AddCaptureNames
-import           Text.RE.ZeInternals.SearchReplace.PCRE.ByteString
 import           Text.RE.ZeInternals.PCRE
+import           Text.RE.ZeInternals.SearchReplace.PCRE.ByteString
 import           Text.RE.ZeInternals.Types.IsRegex
 import           Text.Regex.Base
 import qualified Text.Regex.PCRE               as PCRE
diff --git a/Text/RE/PCRE/ByteString/Lazy.hs b/Text/RE/PCRE/ByteString/Lazy.hs
--- a/Text/RE/PCRE/ByteString/Lazy.hs
+++ b/Text/RE/PCRE/ByteString/Lazy.hs
@@ -59,14 +59,14 @@
   , module Text.RE.ZeInternals.SearchReplace.PCRE.ByteString.Lazy
   ) where
 
-import           Prelude.Compat
 import qualified Data.ByteString.Lazy          as LBS
 import           Data.Typeable
+import           Prelude.Compat
 import           Text.RE.REOptions
 import           Text.RE.Replace
 import           Text.RE.ZeInternals.AddCaptureNames
-import           Text.RE.ZeInternals.SearchReplace.PCRE.ByteString.Lazy
 import           Text.RE.ZeInternals.PCRE
+import           Text.RE.ZeInternals.SearchReplace.PCRE.ByteString.Lazy
 import           Text.RE.ZeInternals.Types.IsRegex
 import           Text.Regex.Base
 import qualified Text.Regex.PCRE               as PCRE
diff --git a/Text/RE/PCRE/Sequence.hs b/Text/RE/PCRE/Sequence.hs
--- a/Text/RE/PCRE/Sequence.hs
+++ b/Text/RE/PCRE/Sequence.hs
@@ -59,14 +59,14 @@
   , module Text.RE.ZeInternals.SearchReplace.PCRE.Sequence
   ) where
 
-import           Prelude.Compat
 import qualified Data.Sequence                 as S
 import           Data.Typeable
+import           Prelude.Compat
 import           Text.RE.REOptions
 import           Text.RE.Replace
 import           Text.RE.ZeInternals.AddCaptureNames
-import           Text.RE.ZeInternals.SearchReplace.PCRE.Sequence
 import           Text.RE.ZeInternals.PCRE
+import           Text.RE.ZeInternals.SearchReplace.PCRE.Sequence
 import           Text.RE.ZeInternals.Types.IsRegex
 import           Text.Regex.Base
 import qualified Text.Regex.PCRE               as PCRE
diff --git a/Text/RE/PCRE/String.hs b/Text/RE/PCRE/String.hs
--- a/Text/RE/PCRE/String.hs
+++ b/Text/RE/PCRE/String.hs
@@ -59,14 +59,14 @@
   , module Text.RE.ZeInternals.SearchReplace.PCRE.String
   ) where
 
-import           Prelude.Compat
 
 import           Data.Typeable
+import           Prelude.Compat
 import           Text.RE.REOptions
 import           Text.RE.Replace
 import           Text.RE.ZeInternals.AddCaptureNames
-import           Text.RE.ZeInternals.SearchReplace.PCRE.String
 import           Text.RE.ZeInternals.PCRE
+import           Text.RE.ZeInternals.SearchReplace.PCRE.String
 import           Text.RE.ZeInternals.Types.IsRegex
 import           Text.Regex.Base
 import qualified Text.Regex.PCRE               as PCRE
diff --git a/Text/RE/ZeInternals/SearchReplace/PCRE.hs b/Text/RE/ZeInternals/SearchReplace/PCRE.hs
--- a/Text/RE/ZeInternals/SearchReplace/PCRE.hs
+++ b/Text/RE/ZeInternals/SearchReplace/PCRE.hs
@@ -23,8 +23,8 @@
 import           Language.Haskell.TH
 import           Language.Haskell.TH.Quote
 import           Prelude.Compat
-import           Text.RE.ZeInternals.SearchReplace.PCREEdPrime
 import           Text.RE.REOptions
+import           Text.RE.ZeInternals.SearchReplace.PCREEdPrime
 
 
 -- | the @[ed| ... /// ... |]@ quasi quoters
diff --git a/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString.hs b/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString.hs
--- a/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString.hs
+++ b/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString.hs
@@ -24,9 +24,9 @@
 import qualified Data.ByteString.Char8         as B
 import           Language.Haskell.TH
 import           Language.Haskell.TH.Quote
+import           Text.RE.REOptions
 import           Text.RE.ZeInternals.PCRE
 import           Text.RE.ZeInternals.SearchReplace.PCREEdPrime
-import           Text.RE.REOptions
 import           Text.RE.ZeInternals.Types.SearchReplace
 
 
diff --git a/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString/Lazy.hs b/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString/Lazy.hs
--- a/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString/Lazy.hs
+++ b/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString/Lazy.hs
@@ -24,9 +24,9 @@
 import qualified Data.ByteString.Lazy.Char8    as LBS
 import           Language.Haskell.TH
 import           Language.Haskell.TH.Quote
+import           Text.RE.REOptions
 import           Text.RE.ZeInternals.PCRE
 import           Text.RE.ZeInternals.SearchReplace.PCREEdPrime
-import           Text.RE.REOptions
 import           Text.RE.ZeInternals.Types.SearchReplace
 
 
diff --git a/Text/RE/ZeInternals/SearchReplace/PCRE/Sequence.hs b/Text/RE/ZeInternals/SearchReplace/PCRE/Sequence.hs
--- a/Text/RE/ZeInternals/SearchReplace/PCRE/Sequence.hs
+++ b/Text/RE/ZeInternals/SearchReplace/PCRE/Sequence.hs
@@ -24,9 +24,9 @@
 import qualified Data.Sequence                 as S
 import           Language.Haskell.TH
 import           Language.Haskell.TH.Quote
+import           Text.RE.REOptions
 import           Text.RE.ZeInternals.PCRE
 import           Text.RE.ZeInternals.SearchReplace.PCREEdPrime
-import           Text.RE.REOptions
 import           Text.RE.ZeInternals.Types.SearchReplace
 
 
diff --git a/Text/RE/ZeInternals/SearchReplace/PCRE/String.hs b/Text/RE/ZeInternals/SearchReplace/PCRE/String.hs
--- a/Text/RE/ZeInternals/SearchReplace/PCRE/String.hs
+++ b/Text/RE/ZeInternals/SearchReplace/PCRE/String.hs
@@ -24,9 +24,9 @@
 
 import           Language.Haskell.TH
 import           Language.Haskell.TH.Quote
+import           Text.RE.REOptions
 import           Text.RE.ZeInternals.PCRE
 import           Text.RE.ZeInternals.SearchReplace.PCREEdPrime
-import           Text.RE.REOptions
 import           Text.RE.ZeInternals.Types.SearchReplace
 
 
diff --git a/Text/RE/ZeInternals/SearchReplace/PCREEdPrime.hs b/Text/RE/ZeInternals/SearchReplace/PCREEdPrime.hs
--- a/Text/RE/ZeInternals/SearchReplace/PCREEdPrime.hs
+++ b/Text/RE/ZeInternals/SearchReplace/PCREEdPrime.hs
@@ -18,9 +18,9 @@
 import           Prelude.Compat
 import           Text.RE.REOptions
 import           Text.RE.Replace
-import           Text.RE.ZeInternals.SearchReplace
-import           Text.RE.ZeInternals.QQ
 import           Text.RE.ZeInternals.PCRE
+import           Text.RE.ZeInternals.QQ
+import           Text.RE.ZeInternals.SearchReplace
 import           Text.RE.ZeInternals.Types.IsRegex
 import           Text.Regex.PCRE
 
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,5 +1,14 @@
 -*-change-log-*-
 
+0.13.0.0 Chris Dornan <chris.dornan@irisconnect.co.uk> 2017-04-03
+  * Add a Find Tool (#106)
+  * TestBench to export Text.RE (#107)
+  * Consolidate cabal templates (#108)
+  * Add special tutorials (#109)
+  * Add sort-imports example (#110)
+  * Generalise Grep (#111)
+  * Tighten up findCaptureID (#112)
+
 0.12.0.0 Chris Dornan <chris.dornan@irisconnect.co.uk> 2017-03-31
   * Add Text.RE.REOptions to RE.Summa (#103)
   * Move IsRegex into Text.RE (#104)
diff --git a/regex-with-pcre.cabal b/regex-with-pcre.cabal
--- a/regex-with-pcre.cabal
+++ b/regex-with-pcre.cabal
@@ -1,5 +1,5 @@
 Name:                   regex-with-pcre
-Version:                0.12.0.0
+Version:                0.13.0.0
 Synopsis:               Toolkit for regex-base
 Description:            A regular expression toolkit for regex-base with
                         compile-time checking of RE syntax, data types for
@@ -32,7 +32,7 @@
 Source-Repository this
     Type:               git
     Location:           https://github.com/iconnect/regex.git
-    Tag:                0.12.0.0
+    Tag:                0.13.0.0
 
 
 
@@ -87,7 +87,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.12.0.0
+        regex                == 0.13.0.0
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
       , bytestring           >= 0.10.2.0
