"""List all documents in the library."""
         pass
 
-    def document_for_rev(self, rev):
+    def document_for_revision(self, rev):
         """Retrieve a document in the specified revision."""
         pass
 
     def parentof(self, other):
         return self._revision.parentof(other._revision)
 
+    def parent(self):
+        return self._library.document_for_revision(self._revision.parent())
+
+    def has_parent_from(self, other):
+        return self._revision.has_parent_from(other._revision)
+
     def ancestorof(self, other):
         return self._revision.ancestorof(other._revision)
 
         Exception.__init__(self, msg)
         self.cause = cause
 
+class UpdateException(LibraryException):
+    pass
+
 class RevisionNotFound(LibraryException):
     def __init__(self, rev):
         LibraryException.__init__(self, "Revision %r not found." % rev)
 
 def open_library(path, proto, *args, **kwargs):
     if proto == 'hg':
-        import wlrepo.mercurial_backend
-        return wlrepo.mercurial_backend.MercurialLibrary(path, *args, **kwargs)
+        import wlrepo.mercurial_backend.library
+        return wlrepo.mercurial_backend.library.MercurialLibrary(path, *args, **kwargs)
 
     raise NotImplemented()
\ No newline at end of file