`id', which should be a string that can be passed to the `byid'
     function of its parent node to recover the node. Such string ID
     should be more persistent than the node's numeric index in the
-    parent."""
+    parent.
+
+    All pagetree objects should contain an attribute `name',
+    containing some human-readable Unicode representation of the
+    pagelist."""
     
     def idlist(self):
         """Returns a list of the IDs necessary to resolve this node
 
 class pagelist(pagetree):
     """Class representing a list of either pages, or nested
-    pagelists. Might be, for instance, a volume or a chapter.
-
-    All pagelists should contain an attribute `name', containing some
-    human-readable Unicode representation of the pagelist."""
+    pagelists. Might be, for instance, a volume or a chapter."""
 
     def __len__(self):
         """Return the number of (direct) sub-nodes in this pagelist.
 
         self.manga = self.volume.manga
         self.n = n
         self.id = str(n)
+        self.name = u"Page %s" % n
         self.url = url
         self.ciurl = None
 
     def open(self):
         return imgstream(self.iurl())
 
+    def __str__(self):
+        return self.name
+
+    def __repr__(self):
+        return "<mangafox.page %r.%r.%r.%r>" % (self.manga.name, self.volume.name, self.chapter.name, self.name)
+
 class chapter(lib.pagelist):
     def __init__(self, volume, stack, id, name, url):
         self.stack = stack