diff --git a/Changelog.md b/Changelog.md
new file mode 100644
--- /dev/null
+++ b/Changelog.md
@@ -0,0 +1,3 @@
+# 0.1.1.1
+- `ppVector` and `ppVectorWith` now accept generic vectors
+- Add lower bound `pretty-show >= 1.6`
diff --git a/Readme.md b/Readme.md
new file mode 100644
--- /dev/null
+++ b/Readme.md
@@ -0,0 +1,47 @@
+This is a set of utilities for the Haskell `prettyrinter` package.
+Most notable is automatic deriving of `Pretty` instance from the
+`Generic` instance, e.g.
+
+```haskell
+{-# LANGUAGE DeriveGeneric #-}
+
+import Prettyprinter.Generics
+
+data Foo a b = Bar Int | Baz a b
+  deriving (Generic)
+
+instance (Pretty a, Pretty b) => Pretty (Foo a b) where
+  pretty = ppGeneric
+
+printed :: Doc ann
+printed = pretty $ Baz (Bar 10 :: Foo () ()) [1..22]
+```
+
+which would put following into `printed`:
+
+```
+Baz
+  Bar 10
+  [ 1
+  , 2
+  , 3
+  , 4
+  , 5
+  , 6
+  , 7
+  , 8
+  , 9
+  , 10
+  , 11
+  , 12
+  , 13
+  , 14
+  , 15
+  , 16
+  , 17
+  , 18
+  , 19
+  , 20
+  , 21
+  , 22 ]
+```
diff --git a/prettyprinter-combinators.cabal b/prettyprinter-combinators.cabal
--- a/prettyprinter-combinators.cabal
+++ b/prettyprinter-combinators.cabal
@@ -3,7 +3,7 @@
 name:
   prettyprinter-combinators
 version:
-  0.1.1
+  0.1.1.1
 synopsis:
   Some useful combinators for the prettyprinter package
 description:
@@ -25,20 +25,30 @@
   Sergey Vinokurov <serg.foo@gmail.com>
 
 tested-with:
-  GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.2
+  , GHC == 8.10.7
+  , GHC == 9.0.2
+  , GHC == 9.2.5
+  , GHC == 9.4.4
 
 build-type:
   Simple
 
+extra-source-files:
+  Changelog.md
+  Readme.md
+
 homepage: https://github.com/sergv/prettyprinter-combinators
 source-repository head
-    type: git
-    location: https://github.com/sergv/prettyprinter-combinators.git
+  type: git
+  location: https://github.com/sergv/prettyprinter-combinators.git
 
 common ghc-options
   default-language:
     Haskell2010
 
+  default-extensions:
+    ImportQualifiedPost
+
   ghc-options:
     -Weverything
     -Wno-type-defaults
@@ -72,15 +82,15 @@
   hs-source-dirs:
     src
   build-depends:
-    base >= 4.14 && <5,
-    bimap,
-    bytestring,
-    containers,
-    dlist,
-    prettyprinter >= 1.7,
-    pretty-show,
-    syb,
-    template-haskell >= 2.10,
-    text,
-    vector,
-    unordered-containers
+    , base >= 4.14 && <5
+    , bimap
+    , bytestring
+    , containers
+    , dlist
+    , pretty-show >= 1.6
+    , prettyprinter >= 1.7
+    , syb
+    , template-haskell >= 2.10
+    , text
+    , unordered-containers
+    , vector
diff --git a/src/Prettyprinter/Combinators.hs b/src/Prettyprinter/Combinators.hs
--- a/src/Prettyprinter/Combinators.hs
+++ b/src/Prettyprinter/Combinators.hs
@@ -8,7 +8,6 @@
 
 {-# LANGUAGE CPP                 #-}
 {-# LANGUAGE DeriveTraversable   #-}
-{-# LANGUAGE ImportQualifiedPost #-}
 {-# LANGUAGE OverloadedStrings   #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 
@@ -88,8 +87,7 @@
 import Data.Map.Strict (Map)
 import Data.Map.Strict qualified as M
 import Data.Set (Set)
-import Data.Vector (Vector)
-import Data.Vector qualified as V
+import Data.Vector.Generic qualified as G
 import GHC.Stack (CallStack, SrcLoc(..), getCallStack, prettySrcLoc)
 
 #if !MIN_VERSION_base(4, 11, 0)
@@ -231,11 +229,11 @@
 ppHashMapWith :: (k -> Doc ann) -> (v -> Doc ann) -> HashMap k v -> Doc ann
 ppHashMapWith f g = ppAssocListWith f g . HM.toList
 
-ppVector :: Pretty a => Vector a -> Doc ann
+ppVector :: (G.Vector v a, Pretty a) => v a -> Doc ann
 ppVector = ppVectorWith pretty
 
-ppVectorWith :: (a -> Doc ann) -> Vector a -> Doc ann
-ppVectorWith f = ppListWith f . V.toList
+ppVectorWith :: G.Vector v a => (a -> Doc ann) -> v a -> Doc ann
+ppVectorWith f = ppListWith f . G.toList
 
 ppDList :: Pretty a => DList a -> Doc ann
 ppDList = ppDListWith pretty
diff --git a/src/Prettyprinter/Data.hs b/src/Prettyprinter/Data.hs
--- a/src/Prettyprinter/Data.hs
+++ b/src/Prettyprinter/Data.hs
@@ -6,7 +6,6 @@
 -- Maintainer  :  serg.foo@gmail.com
 ----------------------------------------------------------------------------
 
-{-# LANGUAGE ImportQualifiedPost #-}
 {-# LANGUAGE PatternGuards       #-}
 {-# LANGUAGE Rank2Types          #-}
 {-# LANGUAGE ScopedTypeVariables #-}
diff --git a/src/Prettyprinter/Generics.hs b/src/Prettyprinter/Generics.hs
--- a/src/Prettyprinter/Generics.hs
+++ b/src/Prettyprinter/Generics.hs
@@ -10,7 +10,6 @@
 {-# LANGUAGE DataKinds            #-}
 {-# LANGUAGE FlexibleContexts     #-}
 {-# LANGUAGE FlexibleInstances    #-}
-{-# LANGUAGE ImportQualifiedPost  #-}
 {-# LANGUAGE LambdaCase           #-}
 {-# LANGUAGE OverloadedStrings    #-}
 {-# LANGUAGE ScopedTypeVariables  #-}
diff --git a/src/Prettyprinter/MetaDoc.hs b/src/Prettyprinter/MetaDoc.hs
--- a/src/Prettyprinter/MetaDoc.hs
+++ b/src/Prettyprinter/MetaDoc.hs
@@ -6,7 +6,6 @@
 -- Maintainer  :  serg.foo@gmail.com
 ----------------------------------------------------------------------------
 
-{-# LANGUAGE ImportQualifiedPost #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 
 module Prettyprinter.MetaDoc
diff --git a/src/Prettyprinter/Show.hs b/src/Prettyprinter/Show.hs
--- a/src/Prettyprinter/Show.hs
+++ b/src/Prettyprinter/Show.hs
@@ -6,9 +6,9 @@
 -- Maintainer  :  serg.foo@gmail.com
 ----------------------------------------------------------------------------
 
-{-# LANGUAGE ImportQualifiedPost #-}
-{-# LANGUAGE LambdaCase          #-}
-{-# LANGUAGE OverloadedStrings   #-}
+{-# LANGUAGE CPP               #-}
+{-# LANGUAGE LambdaCase        #-}
+{-# LANGUAGE OverloadedStrings #-}
 
 module Prettyprinter.Show (ppShow) where
 
@@ -50,6 +50,8 @@
   Float x         -> stringMetaDoc x
   Char x          -> stringMetaDoc x
   String x        -> stringMetaDoc x
+#if MIN_VERSION_pretty_show (1, 10, 0)
   Date x          -> stringMetaDoc x
   Time x          -> stringMetaDoc x
   Quote x         -> stringMetaDoc x
+#endif
