diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,10 @@
+0.1.0 (Changes from 0.0.1)
+=========================
+* added project and sec
+* added <>= and <>~
+* renamed functional modifier operators
+* moving setting to Lens.Family2.Unchecked because one needs to verify the functor laws
+
 0.0.1 (Changes from 0.0.0)
 =========================
 * Bump dependency on containers
diff --git a/lens-family.cabal b/lens-family.cabal
--- a/lens-family.cabal
+++ b/lens-family.cabal
@@ -1,6 +1,6 @@
 name:               lens-family
-category:           Data
-version:            0.0.1
+category:           Data, Lenses
+version:            0.1.0
 license:            BSD3
 cabal-version:      >= 1.6
 license-file:       LICENSE
@@ -32,7 +32,7 @@
     containers           >= 0.3     && < 0.6,
     transformers         >= 0.2.0   && < 0.4,
     mtl                  >= 2.1     && < 2.2,
-    lens-family-core     >= 0.0.0   && < 0.1
+    lens-family-core     >= 0.1     && < 0.2
 
   exposed-modules:
     Lens.Family2.Unchecked
diff --git a/src/Lens/Family2/State/Lazy.hs b/src/Lens/Family2/State/Lazy.hs
--- a/src/Lens/Family2/State/Lazy.hs
+++ b/src/Lens/Family2/State/Lazy.hs
@@ -12,11 +12,13 @@
   , (+=), (-=), (*=)
   , (//=)
   , (&&=), (||=)
+  , (<>=)
   ) where
 
+import Data.Monoid (Monoid, mappend)
 import Control.Monad (liftM)
 import Control.Monad.State.Lazy (MonadState, StateT(..), get, modify, state)
-import Lens.Family (Getter, Setter, (^.), (^%=))
+import Lens.Family (Getter, Setter, (^.), (%~))
 import qualified Lens.Family.State.Lazy as LFS
 import Lens.Family2.Stock (Lens)
 
@@ -33,7 +35,7 @@
 
 -- | Modify a field of the state
 (%=) :: MonadState a m => Setter a b -> (b -> b) -> m ()
-l %= f = modify (l ^%= f)
+l %= f = modify (l %~ f)
 
 infix 4 ~=
 
@@ -64,3 +66,8 @@
 (&&=), (||=) :: MonadState a m => Setter a Bool -> Bool -> m ()
 f &&= b = f %= (&& b)
 f ||= b = f %= (|| b)
+
+infixr 4 <>=
+
+(<>=) :: (Monoid o, MonadState a m) => Setter a o -> o -> m ()
+f <>= b = f %= (`mappend` b)
diff --git a/src/Lens/Family2/State/Strict.hs b/src/Lens/Family2/State/Strict.hs
--- a/src/Lens/Family2/State/Strict.hs
+++ b/src/Lens/Family2/State/Strict.hs
@@ -12,11 +12,13 @@
   , (+=), (-=), (*=)
   , (//=)
   , (&&=), (||=)
+  , (<>=)
   ) where
 
+import Data.Monoid (Monoid, mappend)
 import Control.Monad (liftM)
 import Control.Monad.State.Strict (MonadState, StateT(..), get, modify, state)
-import Lens.Family (Getter, Setter, (^.), (^%=))
+import Lens.Family (Getter, Setter, (^.), (%~))
 import qualified Lens.Family.State.Strict as LFS
 import Lens.Family2.Stock (Lens)
 
@@ -33,7 +35,7 @@
 
 -- | Modify a field of the state
 (%=) :: MonadState a m => Setter a b -> (b -> b) -> m ()
-l %= f = modify (l ^%= f)
+l %= f = modify (l %~ f)
 
 infix 4 ~=
 
@@ -64,3 +66,8 @@
 (&&=), (||=) :: MonadState a m => Setter a Bool -> Bool -> m ()
 f &&= b = f %= (&& b)
 f ||= b = f %= (|| b)
+
+infixr 4 <>=
+
+(<>=) :: (Monoid o, MonadState a m) => Setter a o -> o -> m ()
+f <>= b = f %= (`mappend` b)
diff --git a/src/Lens/Family2/Stock.hs b/src/Lens/Family2/Stock.hs
--- a/src/Lens/Family2/Stock.hs
+++ b/src/Lens/Family2/Stock.hs
@@ -16,7 +16,7 @@
 
 import Lens.Family2.Unchecked (LensFamily, Lens)
 import qualified Lens.Family.Stock as Stock
-import Lens.Family ((^.), (^=))
+import Lens.Family ((^.), (<~))
 import qualified Data.Map as Map
 import qualified Data.IntMap as IntMap
 import qualified Data.Set as Set
@@ -25,7 +25,7 @@
 -- I suspect there is a more clever way to define this function.
 -- | Given two lens families, make a new lens on their product.
 (***) :: LensFamily a1 a1' b1 b1' -> LensFamily a2 a2' b2 b2' -> LensFamily (a1, a2) (a1', a2') (b1, b2) (b1', b2')
-(***) l1 l2 f (a1, a2) = (\(v'1, v'2) -> (l1 ^= v'1 $ a1, l2 ^= v'2 $ a2)) `fmap` f (a1 ^. l1, a2 ^. l2)
+(***) l1 l2 f (a1, a2) = (\(v'1, v'2) -> (l1 <~ v'1 $ a1, l2 <~ v'2 $ a2)) `fmap` f (a1 ^. l1, a2 ^. l2)
 
 -- | Lens on the first element of a pair.
 fstL :: LensFamily (a, b) (a', b) a a'
diff --git a/src/Lens/Family2/Unchecked.hs b/src/Lens/Family2/Unchecked.hs
--- a/src/Lens/Family2/Unchecked.hs
+++ b/src/Lens/Family2/Unchecked.hs
@@ -42,13 +42,15 @@
 module Lens.Family2.Unchecked
   ( mkLens
   , mkIsoLens
+  , LF.Setting, LF.setting
   -- * Types
   , LensFamily, Lens
+  , LF.SetterFamily, LF.Setter
   ) where
 
 import qualified Lens.Family.Unchecked as LF
 
-type LensFamily a a' b b' = forall f. Functor f => LF.LensFamily f a a' b b'
+type LensFamily a a' b b' = forall f. Functor f => LF.RefFamily f a a' b b'
 type Lens a b = LensFamily a a b b
 
 -- | Build a lens from a @getter@ and @setter@ families.
