diff --git a/path-extra.cabal b/path-extra.cabal
--- a/path-extra.cabal
+++ b/path-extra.cabal
@@ -2,13 +2,15 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 5de4ded9dc7201c2974f61c80d3dee4ee243bc075ecb0a943d1b782dccefec7c
+-- hash: 373b686527cf454dee43b179ea2c6733f768eb0bd0e1a6701bc6fddbe12fccc0
 
 name:           path-extra
-version:        0.1.0
+version:        0.1.1
 synopsis:       Some extensions to Chris Done's path library, for use with urlpath and attoparsec-uri.
 description:    Please see the README on Github at <https://github.com/githubuser/localcooking-db#readme>
 category:       System, Filesystem, Web
+homepage:       https://github.com/athanclark/path-extra#readme
+bug-reports:    https://github.com/athanclark/path-extra/issues
 author:         Athan Clark
 maintainer:     athan.clark@localcooking.com
 copyright:      Copyright (c) 2018 Local Cooking Inc.
@@ -22,7 +24,7 @@
 
 source-repository head
   type: git
-  location: git://git.localcooking.com/tooling/path-extra.git
+  location: https://github.com/athanclark/path-extra
 
 library
   exposed-modules:
diff --git a/src/Path/Extended.hs b/src/Path/Extended.hs
--- a/src/Path/Extended.hs
+++ b/src/Path/Extended.hs
@@ -10,6 +10,8 @@
   , -- * Classes
     ToPath (..)
   , ToLocation (..)
+  , FromPath (..)
+  , FromLocation (..)
   , -- * Combinators
     -- ** Append
     PathAppend (..)
@@ -36,7 +38,6 @@
   , (<#>)
   , delFragment
   , getFragment
-  , module P
   ) where
 
 import Path as P hiding ((</>))
@@ -58,6 +59,13 @@
 -- for your own data type to use your constructors as route-referencing symbols.
 class ToLocation sym base type' | sym -> base type' where
   toLocation :: sym -> Location base type'
+
+class FromPath sym base type' | sym -> base type' where
+  parsePath :: Path base type' -> Either String sym
+
+class FromLocation sym base type' | sym -> base type' where
+  parseLocation :: Location base type' -> Either String sym
+
 
 
 -- | A location for some base and type - internally uses @Path@.
