diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
deleted file mode 100644
--- a/CHANGELOG.markdown
+++ /dev/null
@@ -1,22 +0,0 @@
-# Change Log
-
-Notable changes to the project will be documented in this file.
-
-The format is based on [Keep a Changelog](http://keepachangelog.com/) and the
-project adheres to the [Haskell Package Versioning
-Policy (PVP)](https://pvp.haskell.org)
-
-## [0.2.0.0] - 2018-04-03
-### Added
-  * `Field` instances for `Shape`s, where `_1` is the right-most component of
-    the shape (x-coordinate), `_2` is the next component (y-coordinate), etc.
-
-### Changed
-  * updates for accelerate-1.2
-
-## 0.1.0.0 - 2017-03-31
-
-  * Initial release
-
-[0.2.0.0]:  https://github.com/tmcdonell/lens-accelerate/compare/0.1.0.0...0.2.0.0
-
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,27 @@
+# Change Log
+
+Notable changes to the project will be documented in this file.
+
+The format is based on [Keep a Changelog](http://keepachangelog.com/) and the
+project adheres to the [Haskell Package Versioning
+Policy (PVP)](https://pvp.haskell.org)
+
+## [0.3.0.0] - 2020-08-26
+### Changed
+  * update for accelerate-1.3
+
+## [0.2.0.0] - 2018-04-03
+### Added
+  * `Field` instances for `Shape`s, where `_1` is the right-most component of
+    the shape (x-coordinate), `_2` is the next component (y-coordinate), etc.
+
+### Changed
+  * updates for accelerate-1.2
+
+## 0.1.0.0 - 2017-03-31
+
+  * Initial release
+
+[0.3.0.0]:  https://github.com/tmcdonell/lens-accelerate/compare/0.2.0.0...v0.3.0.0
+[0.2.0.0]:  https://github.com/tmcdonell/lens-accelerate/compare/0.1.0.0...0.2.0.0
+
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2015, Trevor L. McDonell
+Copyright (c) [2015..2020], Trevor L. McDonell
 
 All rights reserved.
 
diff --git a/README.markdown b/README.markdown
deleted file mode 100644
--- a/README.markdown
+++ /dev/null
@@ -1,11 +0,0 @@
-lens-accelerate
-===============
-
-[![Build Status](https://travis-ci.org/tmcdonell/lens-accelerate.svg?branch=master)](https://travis-ci.org/tmcdonell/lens-accelerate)
-[![Hackage](https://img.shields.io/hackage/v/lens-accelerate.svg)](https://hackage.haskell.org/package/lens-accelerate)
-
-Instances to mix [lens][lens] with [accelerate][accelerate].
-
- [lens]:                https://github.com/ekmett/lens
- [accelerate]:          https://github.com/AccelerateHS/accelerate
-
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,23 @@
+<div align="center">
+<img width="450" src="https://github.com/AccelerateHS/accelerate/raw/master/images/accelerate-logo-text-v.png?raw=true" alt="henlo, my name is Theia"/>
+
+# lens-accelerate
+
+[![GitHub CI](https://github.com/tmcdonell/lens-accelerate/workflows/CI/badge.svg)](https://github.com/tmcdonell/lens-accelerate/actions)
+[![Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/AccelerateHS/Lobby)
+<br>
+[![Stackage LTS](https://stackage.org/package/lens-accelerate/badge/lts)](https://stackage.org/lts/package/lens-accelerate)
+[![Stackage Nightly](https://stackage.org/package/lens-accelerate/badge/nightly)](https://stackage.org/nightly/package/lens-accelerate)
+[![Hackage](https://img.shields.io/hackage/v/lens-accelerate.svg)](https://hackage.haskell.org/package/lens-accelerate)
+
+</div>
+
+Instances to mix [lens][lens] with [accelerate][accelerate].
+
+Contributions and bug reports are welcome!<br>
+Please feel free to contact me through GitHub or [gitter.im][gitter.im].
+
+ [lens]:                https://github.com/ekmett/lens
+ [accelerate]:          https://github.com/AccelerateHS/accelerate
+ [gitter.im]:           https://gitter.im/AccelerateHS/Lobby
+
diff --git a/lens-accelerate.cabal b/lens-accelerate.cabal
--- a/lens-accelerate.cabal
+++ b/lens-accelerate.cabal
@@ -1,20 +1,19 @@
 name:                   lens-accelerate
-version:                0.2.0.0
-synopsis:               Instances to mix lens with accelerate
-description:            Instances to mix lens with accelerate
+version:                0.3.0.0
+synopsis:               Instances to mix lens with Accelerate
+description:            Please see the README on GitHub at <https://github.com/tmcdonell/lens-accelerate#readme>
 homepage:               https://github.com/tmcdonell/lens-accelerate
 license:                BSD3
 license-file:           LICENSE
 author:                 Trevor L. McDonell
-maintainer:             Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
-copyright:              Trevor L. McDonell
-category:               Data, Lenses
+maintainer:             Trevor L. McDonell <trevor.mcdonell@gmail.com>
+category:               Accelerate, Data, Lenses
 build-type:             Simple
 cabal-version:          >=1.10
 
 extra-source-files:
-    README.markdown
-    CHANGELOG.markdown
+    README.md
+    CHANGELOG.md
 
 library
   exposed-modules:
@@ -27,8 +26,8 @@
     Data.Array.Accelerate.Control.Lens.Lift
 
   build-depends:
-      base                 >= 4.7 && < 4.12
-    , accelerate           >= 1.0
+      base                 >= 4.7 && < 5
+    , accelerate           >= 1.3
     , lens                 == 4.*
 
   ghc-options:
@@ -47,7 +46,7 @@
 
 source-repository this
   Type:                 git
-  Tag:                  0.2.0.0
+  Tag:                  v0.3.0.0
   Location:             git://github.com/tmcdonell/lens-accelerate.git
 
 -- vim: nospell
diff --git a/src/Data/Array/Accelerate/Control/Lens.hs b/src/Data/Array/Accelerate/Control/Lens.hs
--- a/src/Data/Array/Accelerate/Control/Lens.hs
+++ b/src/Data/Array/Accelerate/Control/Lens.hs
@@ -1,10 +1,10 @@
 -----------------------------------------------------------------------------
 -- |
 -- Module      : Data.Array.Accelerate.Control.Lens
--- Copyright   : 2015 Trevor L. McDonell
+-- Copyright   : [2015..2020] Trevor L. McDonell
 -- License     : BSD-style (see the file LICENSE)
 --
--- Maintainer  : Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
+-- Maintainer  : Trevor L. McDonell <trevor.mcdonell@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable
 --
diff --git a/src/Data/Array/Accelerate/Control/Lens/Each.hs b/src/Data/Array/Accelerate/Control/Lens/Each.hs
--- a/src/Data/Array/Accelerate/Control/Lens/Each.hs
+++ b/src/Data/Array/Accelerate/Control/Lens/Each.hs
@@ -6,10 +6,10 @@
 -----------------------------------------------------------------------------
 -- |
 -- Module      : Data.Array.Accelerate.Control.Lens.Each
--- Copyright   : 2015 Trevor L. McDonell
+-- Copyright   : [2015..2020] Trevor L. McDonell
 -- License     : BSD-style (see the file LICENSE)
 --
--- Maintainer  : Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
+-- Maintainer  : Trevor L. McDonell <trevor.mcdonell@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable
 --
diff --git a/src/Data/Array/Accelerate/Control/Lens/Lift.hs b/src/Data/Array/Accelerate/Control/Lens/Lift.hs
--- a/src/Data/Array/Accelerate/Control/Lens/Lift.hs
+++ b/src/Data/Array/Accelerate/Control/Lens/Lift.hs
@@ -3,10 +3,10 @@
 -----------------------------------------------------------------------------
 -- |
 -- Module      : Data.Array.Accelerate.Control.Lens.Lift
--- Copyright   : 2015 Trevor L. McDonell
+-- Copyright   : [2015..2020] Trevor L. McDonell
 -- License     : BSD-style (see the file LICENSE)
 --
--- Maintainer  : Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
+-- Maintainer  : Trevor L. McDonell <trevor.mcdonell@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable
 --
diff --git a/src/Data/Array/Accelerate/Control/Lens/Shape.hs b/src/Data/Array/Accelerate/Control/Lens/Shape.hs
--- a/src/Data/Array/Accelerate/Control/Lens/Shape.hs
+++ b/src/Data/Array/Accelerate/Control/Lens/Shape.hs
@@ -8,10 +8,10 @@
 -----------------------------------------------------------------------------
 -- |
 -- Module      : Data.Array.Accelerate.Control.Lens.Shape
--- Copyright   : 2015 Trevor L. McDonell
+-- Copyright   : [2015..2020] Trevor L. McDonell
 -- License     : BSD-style (see the file LICENSE)
 --
--- Maintainer  : Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
+-- Maintainer  : Trevor L. McDonell <trevor.mcdonell@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable
 --
@@ -28,67 +28,46 @@
 import Data.Array.Accelerate
 
 
-instance (Slice sh, Elt a, Elt a')
+instance (Elt sh, Elt a, Elt a')
     => Field1 (Exp (sh :. a)) (Exp (sh :. a')) (Exp a) (Exp a') where
   _1 = lens indexHead (\sh b -> lift (indexTail sh :. b))
 
-instance (Slice sh, Elt a, Elt b, Elt b', Slice (sh :. b), Slice (sh :. b'))
+instance (Elt sh, Elt a, Elt b, Elt b')
     => Field2 (Exp (sh :. b :. a)) (Exp (sh :. b' :. a)) (Exp b) (Exp b') where
   _2 = lens (\s   -> let _  :. b :. _ = unlift s :: Exp sh :. Exp b :. Exp a in b)
             (\s b -> let sh :. _ :. a = unlift s :: Exp sh :. Exp b :. Exp a in lift (sh :. b :. a))
 
-instance ( Slice sh, Elt a, Elt b, Elt c, Elt c'
-         , Slice (sh :. c),  Slice (sh :. c  :. b)
-         , Slice (sh :. c'), Slice (sh :. c' :. b)
-         )
+instance (Elt sh, Elt a, Elt b, Elt c, Elt c')
     => Field3 (Exp (sh :. c :. b :. a)) (Exp (sh :. c' :. b :. a)) (Exp c) (Exp c') where
   _3 = lens (\s   -> let _  :. c :. _ :. _ = unlift s :: Exp sh :. Exp c :. Exp b :. Exp a in c)
             (\s c -> let sh :. _ :. b :. a = unlift s :: Exp sh :. Exp c :. Exp b :. Exp a in lift (sh :. c :. b :. a))
 
-instance ( Slice sh, Elt a, Elt b, Elt c, Elt d, Elt d'
-         , Slice (sh :. d),  Slice (sh :. d  :. c), Slice (sh :. d  :. c :. b)
-         , Slice (sh :. d'), Slice (sh :. d' :. c), Slice (sh :. d' :. c :. b)
-         )
+instance (Elt sh, Elt a, Elt b, Elt c, Elt d, Elt d')
     => Field4 (Exp (sh :. d :. c :. b :. a)) (Exp (sh :. d' :. c :. b :. a)) (Exp d) (Exp d') where
   _4 = lens (\s   -> let _  :. d :. _ :. _ :. _ = unlift s :: Exp sh :. Exp d :. Exp c :. Exp b :. Exp a in d)
             (\s d -> let sh :. _ :. c :. b :. a = unlift s :: Exp sh :. Exp d :. Exp c :. Exp b :. Exp a in lift (sh :. d :. c :. b :. a))
 
-instance ( Slice sh, Elt a, Elt b, Elt c, Elt d, Elt e, Elt e'
-         , Slice (sh :. e),  Slice (sh :. e  :. d), Slice (sh :. e  :. d :. c), Slice (sh :. e  :. d :. c :. b)
-         , Slice (sh :. e'), Slice (sh :. e' :. d), Slice (sh :. e' :. d :. c), Slice (sh :. e' :. d :. c :. b)
-         )
+instance (Elt sh, Elt a, Elt b, Elt c, Elt d, Elt e, Elt e')
     => Field5 (Exp (sh :. e :. d :. c :. b :. a)) (Exp (sh :. e' :. d :. c :. b :. a)) (Exp e) (Exp e') where
   _5 = lens (\s   -> let _  :. e :. _ :. _ :. _ :. _ = unlift s :: Exp sh :. Exp e :. Exp d :. Exp c :. Exp b :. Exp a in e)
             (\s e -> let sh :. _ :. d :. c :. b :. a = unlift s :: Exp sh :. Exp e :. Exp d :. Exp c :. Exp b :. Exp a in lift (sh :. e :. d :. c :. b :. a))
 
-instance ( Slice sh, Elt a, Elt b, Elt c, Elt d, Elt e, Elt f, Elt f'
-         , Slice (sh :. f),  Slice (sh :. f  :. e), Slice (sh :. f  :. e :. d), Slice (sh :. f  :. e :. d :. c), Slice (sh :. f  :. e :. d :. c :. b)
-         , Slice (sh :. f'), Slice (sh :. f' :. e), Slice (sh :. f' :. e :. d), Slice (sh :. f' :. e :. d :. c), Slice (sh :. f' :. e :. d :. c :. b)
-         )
+instance (Elt sh, Elt a, Elt b, Elt c, Elt d, Elt e, Elt f, Elt f')
     => Field6 (Exp (sh :. f :. e :. d :. c :. b :. a)) (Exp (sh :. f' :. e :. d :. c :. b :. a)) (Exp f) (Exp f') where
   _6 = lens (\s   -> let _  :. f :. _ :. _ :. _ :. _ :. _ = unlift s :: Exp sh :. Exp f :. Exp e :. Exp d :. Exp c :. Exp b :. Exp a in f)
             (\s f -> let sh :. _ :. e :. d :. c :. b :. a = unlift s :: Exp sh :. Exp f :. Exp e :. Exp d :. Exp c :. Exp b :. Exp a in lift (sh :. f :. e :. d :. c :. b :. a))
 
-instance ( Slice sh , Elt a, Elt b, Elt c, Elt d, Elt e, Elt f, Elt g, Elt g'
-         , Slice (sh :. g),  Slice (sh :. g  :. f), Slice (sh :. g  :. f :. e), Slice (sh :. g  :. f :. e :. d), Slice (sh :. g  :. f :. e :. d :. c), Slice (sh :. g  :. f :. e :. d :. c :. b)
-         , Slice (sh :. g'), Slice (sh :. g' :. f), Slice (sh :. g' :. f :. e), Slice (sh :. g' :. f :. e :. d), Slice (sh :. g' :. f :. e :. d :. c), Slice (sh :. g' :. f :. e :. d :. c :. b)
-         )
+instance (Elt sh , Elt a, Elt b, Elt c, Elt d, Elt e, Elt f, Elt g, Elt g')
     => Field7 (Exp (sh :. g :. f :. e :. d :. c :. b :. a)) (Exp (sh :. g' :. f :. e :. d :. c :. b :. a)) (Exp g) (Exp g') where
   _7 = lens (\s   -> let _  :. g :. _ :. _ :. _ :. _ :. _ :. _ = unlift s :: Exp sh :. Exp g :. Exp f :. Exp e :. Exp d :. Exp c :. Exp b :. Exp a in g)
             (\s g -> let sh :. _ :. f :. e :. d :. c :. b :. a = unlift s :: Exp sh :. Exp g :. Exp f :. Exp e :. Exp d :. Exp c :. Exp b :. Exp a in lift (sh :. g :. f :. e :. d :. c :. b :. a))
 
-instance ( Slice sh, Elt a, Elt b, Elt c, Elt d, Elt e, Elt f, Elt g, Elt h, Elt h'
-         , Slice (sh :. h),  Slice (sh :. h  :. g), Slice (sh :. h  :. g :. f), Slice (sh :. h  :. g :. f :. e), Slice (sh :. h  :. g :. f :. e :. d), Slice (sh :. h  :. g :. f :. e :. d :. c), Slice (sh :. h  :. g :. f :. e :. d :. c :. b)
-         , Slice (sh :. h'), Slice (sh :. h' :. g), Slice (sh :. h' :. g :. f), Slice (sh :. h' :. g :. f :. e), Slice (sh :. h' :. g :. f :. e :. d), Slice (sh :. h' :. g :. f :. e :. d :. c), Slice (sh :. h' :. g :. f :. e :. d :. c :. b)
-         )
+instance (Elt sh, Elt a, Elt b, Elt c, Elt d, Elt e, Elt f, Elt g, Elt h, Elt h')
     => Field8 (Exp (sh :. h :. g :. f :. e :. d :. c :. b :. a)) (Exp (sh :. h' :. g :. f :. e :. d :. c :. b :. a)) (Exp h) (Exp h') where
   _8 = lens (\s   -> let _  :. h :. _ :. _ :. _ :. _ :. _ :. _ :. _ = unlift s :: Exp sh :. Exp h :. Exp g :. Exp f :. Exp e :. Exp d :. Exp c :. Exp b :. Exp a in h)
             (\s h -> let sh :. _ :. g :. f :. e :. d :. c :. b :. a = unlift s :: Exp sh :. Exp h :. Exp g :. Exp f :. Exp e :. Exp d :. Exp c :. Exp b :. Exp a in lift (sh :. h :. g :. f :. e :. d :. c :. b :. a))
 
-instance ( Slice sh, Elt a, Elt b, Elt c, Elt d, Elt e, Elt f, Elt g, Elt h, Elt i, Elt i'
-         , Slice (sh :. i),  Slice (sh :. i  :. h), Slice (sh :. i  :. h  :. g), Slice (sh :. i  :. h  :. g :. f), Slice (sh :. i  :. h  :. g :. f :. e), Slice (sh :. i  :. h  :. g :. f :. e :. d), Slice (sh :. i  :. h  :. g :. f :. e :. d :. c), Slice (sh :. i  :. h  :. g :. f :. e :. d :. c :. b)
-         , Slice (sh :. i'), Slice (sh :. i' :. h), Slice (sh :. i' :. h :. g), Slice (sh :. i' :. h :. g :. f), Slice (sh :. i' :. h :. g :. f :. e), Slice (sh :. i' :. h :. g :. f :. e :. d), Slice (sh :. i' :. h :. g :. f :. e :. d :. c), Slice (sh :. i' :. h :. g :. f :. e :. d :. c :. b)
-         )
+instance (Elt sh, Elt a, Elt b, Elt c, Elt d, Elt e, Elt f, Elt g, Elt h, Elt i, Elt i')
     => Field9 (Exp (sh :. i :. h :. g :. f :. e :. d :. c :. b :. a)) (Exp (sh :. i' :. h :. g :. f :. e :. d :. c :. b :. a)) (Exp i) (Exp i') where
   _9 = lens (\s   -> let _  :. i :. _ :. _ :. _ :. _ :. _ :. _ :. _ :. _ = unlift s :: Exp sh :. Exp i :. Exp h :. Exp g :. Exp f :. Exp e :. Exp d :. Exp c :. Exp b :. Exp a in i)
             (\s i -> let sh :. _ :. h :. g :. f :. e :. d :. c :. b :. a = unlift s :: Exp sh :. Exp i :. Exp h :. Exp g :. Exp f :. Exp e :. Exp d :. Exp c :. Exp b :. Exp a in lift (sh :. i :. h :. g :. f :. e :. d :. c :. b :. a))
diff --git a/src/Data/Array/Accelerate/Control/Lens/Tuple.hs b/src/Data/Array/Accelerate/Control/Lens/Tuple.hs
--- a/src/Data/Array/Accelerate/Control/Lens/Tuple.hs
+++ b/src/Data/Array/Accelerate/Control/Lens/Tuple.hs
@@ -4,10 +4,10 @@
 -----------------------------------------------------------------------------
 -- |
 -- Module      : Data.Array.Accelerate.Control.Lens.Tuple
--- Copyright   : 2015 Trevor L. McDonell
+-- Copyright   : [2015..2020] Trevor L. McDonell
 -- License     : BSD-style (see the file LICENSE)
 --
--- Maintainer  : Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
+-- Maintainer  : Trevor L. McDonell <trevor.mcdonell@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable
 --
