diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+0.0.7
+
+* haddock for function categories
+
 0.0.6
 
 * tests
diff --git a/list-zipper.cabal b/list-zipper.cabal
--- a/list-zipper.cabal
+++ b/list-zipper.cabal
@@ -1,5 +1,5 @@
 name:               list-zipper
-version:            0.0.6
+version:            0.0.7
 license:            BSD3
 license-file:       LICENCE
 author:             Queensland Functional Programming Lab <oᴉ˙ldɟb@llǝʞsɐɥ>
diff --git a/src/Data/ListZipper.hs b/src/Data/ListZipper.hs
--- a/src/Data/ListZipper.hs
+++ b/src/Data/ListZipper.hs
@@ -6,39 +6,78 @@
 {-# LANGUAGE TypeFamilies #-}
 
 module Data.ListZipper(
+-- * data types
   ListZipper(..)
+, ListZipperOp(..)
+, ListZipperOp'
+-- * lenses and prisms
 , AsListZipper(..)
 , HasListZipper(..)
+, HasListZipperOp(..)
+, AsListZipperOp(..)
+-- * traversals
 , leftz'
 , rightz'
 , leftzrightz
 , rightzleftz
+-- * make zippers
 , zipper
 , zipper0L
 , zipper0L'
 , zipper0R
 , zipper0R'
+-- * rezip
 , list
+-- * indices
 , zipperIndices
+-- * movement
+, moveLeft
+, moveRight
 , moveStart
 , moveEnd
-, atStart
-, atEnd
 , moveLeftLoop
 , moveRightLoop
+, opWith
+, moveLeftWith
+, moveRightWith
+, moveLeftRightWith
+, moveRightLeftWith
+, opWithThen
+, moveLeftWithThen
+, moveRightWithThen
+, moveLeftRightWithThen
+, moveRightLeftWithThen
+, opUntil
+, moveLeftUntil
+, moveRightUntil
+, moveLeftRightUntil
+, moveRightLeftUntil
+, opUntilThen
+, moveLeftUntilThen
+, moveRightUntilThen
+, moveLeftRightUntilThen
+, moveRightLeftUntilThen
+-- * insertion
 , insertMoveLeft
 , insertMoveRight
-, ListZipperOp(..)
-, ListZipperOp'
-, HasListZipperOp(..)
-, AsListZipperOp(..)
-, liftListZipperOp
+-- * deletion
+, deleteStepLeft
+, deleteStepRight
+-- * modifcation
+, modifyFocus
+, setFocus
+-- * focus position
+, atStart
+, atEnd
+-- * get context
 , getFocus
 , getLeft
 , getRight
 , getRightz
 , getLeftz
 , getList
+-- * list zipper state operations
+, liftListZipperOp
 , mkListZipperOp
 , (*>>)
 , (<<*)
@@ -58,33 +97,7 @@
 , execOpList'
 , ($$>)
 , (<$$)
-, moveLeft
-, moveRight
-, opWith
-, moveLeftWith
-, moveRightWith
-, moveLeftRightWith
-, moveRightLeftWith
-, opWithThen
-, moveLeftWithThen
-, moveRightWithThen
-, moveLeftRightWithThen
-, moveRightLeftWithThen
-, opUntil
-, moveLeftUntil
-, moveRightUntil
-, moveLeftRightUntil
-, moveRightLeftUntil
-, opUntilThen
-, moveLeftUntilThen
-, moveRightUntilThen
-, moveLeftRightUntilThen
-, moveRightLeftUntilThen
 , opWhileJust
-, deleteStepLeft
-, deleteStepRight
-, modifyFocus
-, setFocus
 ) where
 
 import Control.Applicative(Applicative(pure, (<*>)), Alternative((<|>), empty), (<*))
@@ -358,7 +371,7 @@
   ListZipper a
   -> ListZipper a
 moveEnd z =
-  opWhileJust moveRight z -- *> moveRight
+  opWhileJust moveRight z
 
 atStart ::
   HasListZipper z a =>
