-        if revision is None:
-            text = self.vstorage.page_text(name)
-        else:
-            text = self.vstorage.revision_text(name, revision)
-        return Document(self, name=name, text=text)
+        text, rev = self.vstorage.page_text(name, revision)
+        return Document(self, name=name, text=text, revision=rev)
+
+    def get_by_tag(self, name, tag):
+        text, rev = self.vstorage.page_text_by_tag(name, tag)
+        return Document(self, name=name, text=text, revision=rev)
+
+    def revert(self, name, revision):
+        text, rev = self.vstorage.revert(name, revision)
+        return Document(self, name=name, text=text, revision=rev)