diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,9 +1,17 @@
+#####   3.0.1
+  fix changelog   
+
 #####   3.0
   *API overhaul*
+
   minimize use of newtypes
+
   regex-constructing functions catch error, return Either String a
+
   Format is now Replace.Template
+
   fix bug in ReplaceOpen.getGroup    
+
   hide Matchf
 
 #####   2.6.2
diff --git a/regex-do.cabal b/regex-do.cabal
--- a/regex-do.cabal
+++ b/regex-do.cabal
@@ -1,5 +1,5 @@
 name:                regex-do
-version:             3.0
+version:             3.0.1
 synopsis:            PCRE wrapper
 description:         format, search, replace (String | ByteString) with PCRE regex. Utf8-safe
 author:              Imants Cekusins
@@ -47,7 +47,6 @@
               stringsearch,
               bytestring,
               tagged,
-              mtl,
               array,
               text
 
@@ -103,7 +102,6 @@
                   regex-pcre,
                   tagged,
                   stringsearch,
-                  mtl,
                   bytestring,
                   array,
                   text,
diff --git a/src/Text/Regex/Do/Match/Latin.hs b/src/Text/Regex/Do/Match/Latin.hs
--- a/src/Text/Regex/Do/Match/Latin.hs
+++ b/src/Text/Regex/Do/Match/Latin.hs
@@ -1,7 +1,7 @@
 {- | although sometimes funs in Ascii modules work with non-ascii text
     (as some examples show),
     for reliable results with Utf8 pattern or body,
-    use "Text.Regex.Do.Pcre.Match.Utf8"
+    use "Text.Regex.Do.Match.Utf8"
 
     see also "Text.Regex.Base.RegexLike" -}
 
@@ -42,7 +42,7 @@
         * ['PosLen']
 
 
-    precompiled Regex may be used as pattern too. see "Text.Regex.Do.Pcre.Match.Utf8"  -}
+    precompiled Regex may be used as pattern too. see "Text.Regex.Do.Match.Utf8"  -}
 class MatchOnce pattern body out where
     (~?)::pattern -> body -> out
 
diff --git a/src/Text/Regex/Do/Match/Utf8.hs b/src/Text/Regex/Do/Match/Utf8.hs
--- a/src/Text/Regex/Do/Match/Utf8.hs
+++ b/src/Text/Regex/Do/Match/Utf8.hs
@@ -1,6 +1,6 @@
 {- | see "Text.Regex.Base.RegexLike" 
 
-    see "Text.Regex.Do.Pcre.Match.Latin" for API changes
+    see "Text.Regex.Do.Match.Latin" for API changes
 
     __'toByteString'__ converts String to utf8 'ByteString'     -}
 module Text.Regex.Do.Match.Utf8
@@ -55,8 +55,8 @@
 ==== precompiled regex as pattern
 
 @    
-let rx1 = makeRegexOpt (toByteString "左") [Utf8] []      --  add options as needed
-    m1 = rx1 -? (toByteString "100メートル左折後、左")::[ByteString]
+let Right rx1 = makeRegexOpt (toByteString "左") [Utf8] []      --  add options as needed
+    m1 = rx1 ~? (toByteString "100メートル左折後、左")::[ByteString]
 m1 `shouldBe` [toByteString "左"]       
 @ -}
 
diff --git a/src/Text/Regex/Do/Replace/Latin.hs b/src/Text/Regex/Do/Replace/Latin.hs
--- a/src/Text/Regex/Do/Replace/Latin.hs
+++ b/src/Text/Regex/Do/Replace/Latin.hs
@@ -1,5 +1,5 @@
 {- | for reliable results with Utf8 pattern or body,
-    use "Text.Regex.Do.Pcre.Replace.Utf8"   -}
+    use "Text.Regex.Do.Replace.Utf8"   -}
 
 module Text.Regex.Do.Replace.Latin
     (Replace(..))  where
diff --git a/src/Text/Regex/Do/Replace/Template.hs b/src/Text/Regex/Do/Replace/Template.hs
--- a/src/Text/Regex/Do/Replace/Template.hs
+++ b/src/Text/Regex/Do/Replace/Template.hs
@@ -16,7 +16,7 @@
 
     other placeholders may be implemented with
 
-    "Text.Regex.Do.Pcre.Ascii.Replace" or "Text.Regex.Do.Pcre.Utf8.Replace"       
+    "Text.Regex.Do.Replace.Latin" or "Text.Regex.Do.Replace.Utf8"       
     
     to avoid clash with 'Prelude':
     
@@ -60,13 +60,17 @@
     Template a [a] where
    (<) t0 a0 = foldr_idx foldFn_idx t0 a0
 {- ^ === index based
-     >>> ["перловка"] > "на первое {0}, на второе {0}" 
-
-     "на первое перловка, на второе перловка"
+    >>> ["цветы", "мороженное"] > "даме {0}, детям {1}" 
+    
+    "даме цветы, детям мороженное"
 
-     >>> "Polly {0} a {1}" < ["got","cracker"]
+     >>> "Polly {0} a {1}" < ["wants","cracker"]
 
-     "Polly got a cracker"
+     "Polly wants a cracker"
+     
+     >>> ["перловка"] > "на первое {0}, на второе {0}"
+    
+     "на первое перловка, на второе перловка"
 -}
 
 foldFn_idx::ReplaceOne k v =>
diff --git a/src/Text/Regex/Do/Replace/Utf8.hs b/src/Text/Regex/Do/Replace/Utf8.hs
--- a/src/Text/Regex/Do/Replace/Utf8.hs
+++ b/src/Text/Regex/Do/Replace/Utf8.hs
@@ -1,4 +1,4 @@
-{- | see also "Text.Regex.Do.Pcre.Replace.Latin"
+{- | see also "Text.Regex.Do.Replace.Latin"
 
     __'toByteString'__ converts String to 'ByteString'     -}
 
@@ -19,7 +19,7 @@
 import Text.Regex.Do.Match.Option
 
 
-{- | see "Text.Regex.Do.Pcre.Replace.Latin" for implemented types
+{- | see "Text.Regex.Do.Replace.Latin" for implemented types
 
     'GroupReplacer' is implemented only for 'ByteString'    -}
 
diff --git a/test/TestRegex/TestFormat.hs b/test/TestRegex/TestFormat.hs
--- a/test/TestRegex/TestFormat.hs
+++ b/test/TestRegex/TestFormat.hs
@@ -29,6 +29,8 @@
             (fn0 "на первое {0}, на второе {0}") < [fn0 "перловка"] `shouldBe` (fn0 "на первое перловка, на второе перловка")
           it "list arg 0,0  >" $
             [fn0 "перловка"] > (fn0 "на первое {0}, на второе {0}") `shouldBe` (fn0 "на первое перловка, на второе перловка")
+          it "list arg 0,0  > 2" $
+            [fn0 "цветы", fn0 "мороженное"] > (fn0 "даме {0}, детям {1}") `shouldBe` (fn0 "даме цветы, детям мороженное")
           it "list arg 0,1" $ do
             (fn0 "Polly {0} a {1}") < [fn0 "gets",fn0 "cracker"] `shouldBe` (fn0 "Polly gets a cracker")
             (fn0 "{10} {15} {21}") < (idx0 <$> [0..22]) `shouldBe` (fn0 "10 15 21")
