diff --git a/hw-balancedparens.cabal b/hw-balancedparens.cabal
--- a/hw-balancedparens.cabal
+++ b/hw-balancedparens.cabal
@@ -1,5 +1,5 @@
 name:                   hw-balancedparens
-version:                0.1.0.0
+version:                0.1.0.1
 synopsis:               Balanced parentheses
 description:            Please see README.md
 homepage:               http://github.com/haskell-works/hw-balancedparens#readme
diff --git a/src/HaskellWorks/Data/BalancedParens/RangeMinMax.hs b/src/HaskellWorks/Data/BalancedParens/RangeMinMax.hs
--- a/src/HaskellWorks/Data/BalancedParens/RangeMinMax.hs
+++ b/src/HaskellWorks/Data/BalancedParens/RangeMinMax.hs
@@ -228,12 +228,12 @@
   findClose v p = if v `closeAt` p then Just p else findCloseN v 1 (p + 1)
   {-# INLINE findClose #-}
 
-instance FindOpen (RangeMinMax a) where
-  findOpen = undefined
+instance (OpenAt a, FindOpenN a) => FindOpen (RangeMinMax a) where
+  findOpen v p = if v `openAt`  p then Just p else findOpenN  v 0 (p - 1)
   {-# INLINE findOpen #-}
 
-instance Enclose (RangeMinMax a) where
-  enclose = undefined
+instance FindOpenN a => Enclose (RangeMinMax a) where
+  enclose v = findOpenN v 1
   {-# INLINE enclose #-}
 
-instance (BitLength a, NewCloseAt a, CloseAt a, OpenAt a, FindCloseN a) => BalancedParens (RangeMinMax a)
+instance (BitLength a, NewCloseAt a, CloseAt a, OpenAt a, FindOpenN a, FindCloseN a) => BalancedParens (RangeMinMax a)
diff --git a/src/HaskellWorks/Data/BalancedParens/RangeMinMax2.hs b/src/HaskellWorks/Data/BalancedParens/RangeMinMax2.hs
--- a/src/HaskellWorks/Data/BalancedParens/RangeMinMax2.hs
+++ b/src/HaskellWorks/Data/BalancedParens/RangeMinMax2.hs
@@ -310,12 +310,12 @@
   findClose v p = if v `closeAt` p then Just p else findCloseN v 1 (p + 1)
   {-# INLINE findClose #-}
 
-instance FindOpen (RangeMinMax2 a) where
-  findOpen = undefined
+instance (OpenAt a, FindOpenN a) => FindOpen (RangeMinMax2 a) where
+  findOpen v p = if v `openAt`  p then Just p else findOpenN  v 0 (p - 1)
   {-# INLINE findOpen #-}
 
-instance Enclose (RangeMinMax2 a) where
-  enclose = undefined
+instance FindOpenN a => Enclose (RangeMinMax2 a) where
+  enclose v = findOpenN v 1
   {-# INLINE enclose #-}
 
-instance (BitLength a, NewCloseAt a, CloseAt a, OpenAt a, FindCloseN a) => BalancedParens (RangeMinMax2 a)
+instance (BitLength a, NewCloseAt a, CloseAt a, OpenAt a, FindOpenN a, FindCloseN a) => BalancedParens (RangeMinMax2 a)
