diff --git a/Data/Geo/GPX/Accessor/Accessor.hs b/Data/Geo/GPX/Accessor/Accessor.hs
new file mode 100644
--- /dev/null
+++ b/Data/Geo/GPX/Accessor/Accessor.hs
@@ -0,0 +1,8 @@
+module Data.Geo.GPX.Accessor.Accessor(
+                                       using
+                                     ) where
+
+import Control.Monad.Instances
+
+using :: (a -> d) -> (c -> a -> b) -> a -> (d -> c) -> b
+using f g = flip =<< (g .) . flip id . f
diff --git a/GPX.cabal b/GPX.cabal
--- a/GPX.cabal
+++ b/GPX.cabal
@@ -1,5 +1,5 @@
 Name:                GPX
-Version:             0.4.2
+Version:             0.4.3
 License:             BSD3
 License-File:        LICENSE
 Synopsis:            Parse GPX files
@@ -43,6 +43,7 @@
                    Data.Geo.GPX.MetadataType
                    Data.Geo.GPX.GpxType
                    Data.Geo.GPX.Gpx
+                   Data.Geo.GPX.Accessor.Accessor
                    Data.Geo.GPX.Accessor.Minlat
                    Data.Geo.GPX.Accessor.Maxlat
                    Data.Geo.GPX.Accessor.Minlon
