diff --git a/interactive_terminal_test.hs b/interactive_terminal_test.hs
--- a/interactive_terminal_test.hs
+++ b/interactive_terminal_test.hs
@@ -1150,9 +1150,17 @@
     reserveDisplay t
     bounds <- displayBounds t
     d <- displayContext t bounds
-    forM_ [0..100] $ \t -> do
+    forM_ [0..2] $ \t -> do
+      forM_ [0..100] $ \t -> do
         let i_offset = translate (t `mod` fst bounds)
                                  (t `div` 2 `mod` snd bounds)
+                                 i
+        let pic = picForLayers $ i_offset : background
+        outputPicture d pic
+        threadDelay 50000
+      forM_ [0..100] $ \t -> do
+        let i_offset = translate (t * (-1) `mod` fst bounds)
+                                 (t * (-1) `div` 2 `mod` snd bounds)
                                  i
         let pic = picForLayers $ i_offset : background
         outputPicture d pic
diff --git a/vty-examples.cabal b/vty-examples.cabal
--- a/vty-examples.cabal
+++ b/vty-examples.cabal
@@ -1,5 +1,5 @@
 name:                vty-examples
-version:             5.2.0
+version:             5.4.0
 license:             BSD3
 license-file:        ../LICENSE
 author:              AUTHORS
@@ -27,42 +27,43 @@
   default-extensions:  ScopedTypeVariables
   ghc-options:         -threaded
 
-  build-depends:       vty == 5.*,
+  build-depends:       vty >= 5.2.11,
                        base >= 4 && < 5,
                        bytestring,
                        containers,
-                       data-default >= 0.5.3,
-                       deepseq >= 1.1 && < 1.4,
+                       data-default,
+                       deepseq,
                        lens,
-                       mtl >= 1.1.1.0 && < 2.3,
-                       parallel >= 2.2 && < 3.3,
-                       parsec >= 2 && < 4,
+                       mtl,
+                       parallel,
+                       parsec,
                        string-qq,
-                       terminfo >= 0.3 && < 0.5,
-                       text >= 0.11.3,
+                       terminfo,
+                       text,
                        unix,
-                       utf8-string >= 0.3 && < 0.4,
-                       vector >= 0.7
+                       utf8-string,
+                       vector
 
 executable vty-event-echo
   main-is:             EventEcho.hs
 
   default-language:    Haskell2010
   default-extensions:  ScopedTypeVariables
+                       FlexibleContexts
   ghc-options:         -threaded
 
-  build-depends:       vty == 5.*,
+  build-depends:       vty >= 5.2.11,
                        base >= 4 && < 5,
-                       array >= 0.4 && < 2.0,
+                       array,
                        bytestring,
                        containers,
-                       data-default >= 0.5.3,
+                       data-default,
                        lens,
-                       mtl >= 1.1.1.0 && < 2.3,
-                       parallel >= 2.2 && < 3.3,
-                       text >= 0.11.3,
-                       utf8-string >= 0.3 && < 0.4,
-                       vector >= 0.7
+                       mtl,
+                       parallel,
+                       text,
+                       utf8-string,
+                       vector
 
 executable vty-rogue
   main-is:             Rogue.hs
@@ -71,19 +72,19 @@
   default-extensions:  ScopedTypeVariables
   ghc-options:         -threaded
 
-  build-depends:       vty == 5.*,
+  build-depends:       vty >= 5.2.11,
                        base >= 4 && < 5,
-                       array >= 0.4 && < 2.0,
+                       array,
                        bytestring,
                        containers,
-                       data-default >= 0.5.3,
+                       data-default,
                        lens,
-                       mtl >= 1.1.1.0 && < 2.3,
-                       parallel >= 2.2 && < 3.3,
-                       random >= 1.0 && < 2.0,
-                       text >= 0.11.3,
-                       utf8-string >= 0.3 && < 0.4,
-                       vector >= 0.7
+                       mtl,
+                       parallel,
+                       random,
+                       text,
+                       utf8-string,
+                       vector
 
 executable vty-benchmark
   main-is:             benchmark.hs
@@ -92,23 +93,23 @@
   default-extensions:  ScopedTypeVariables
   ghc-options:         -threaded
 
-  build-depends:       vty == 5.*,
+  build-depends:       vty >= 5.2.11,
                        base >= 4 && < 5,
                        bytestring,
-                       Cabal == 1.18.*,
+                       Cabal,
                        containers,
-                       data-default >= 0.5.3,
-                       deepseq >= 1.1 && < 1.4,
+                       data-default,
+                       deepseq,
                        lens,
-                       mtl >= 1.1.1.0 && < 2.3,
-                       parallel >= 2.2 && < 3.3,
-                       parsec >= 2 && < 4,
-                       QuickCheck >= 2.4,
-                       random == 1.0.*,
+                       mtl,
+                       parallel,
+                       parsec,
+                       QuickCheck,
+                       random,
                        string-qq,
-                       terminfo >= 0.3 && < 0.5,
-                       text >= 0.11.3,
+                       terminfo,
+                       text,
                        unix,
-                       utf8-string >= 0.3 && < 0.4,
-                       vector >= 0.7
+                       utf8-string,
+                       vector
 
