Index: main/waeup.kofa/trunk/src/waeup/kofa/university/api.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/api.txt	(revision 12906)
+++ 	(revision )
@@ -1,30 +1,0 @@
-:mod:`waeup.kofa.university` -- academic components
-***************************************************
-
-.. module:: waeup.kofa.university
-
-Components that represent academic 'core' stuff like faculties, 
-
-Submodules
-==========
-
-The :mod:`waeup.kofa.university` module provides the following submodules:
-
-.. toctree::
-   :maxdepth: 1
-
-   certificate.txt
-   certificatescontainer.txt
-   course.txt
-   coursescontainer.txt
-   department.txt
-   faculty.txt
-   facultiescontainer.txt
-
-Additional infos about the referrers of courses and how they are
-handled can be found in:
-
-.. toctree::
-   :maxdepth: 1
-
-   certcourses.txt
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/certcourses.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/certcourses.txt	(revision 12906)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/certcourses.txt	(revision 12920)
@@ -1,8 +1,86 @@
-Certificate Courses
-*******************
-
-Courses are referred to by certificate courses.
-
-We can be sure, that when removing courses or referrers of them,
+.. _removecertificatecourses:
+
+Persistence of Certificate Courses
+==================================
+
+If a certificate course requires a certain course and this is course
+is deleted, also the referring certificate course is deleted.
+
+We setup a data structure that reflects typical usage. It looks like
+this::
+
+    Department-Instance
+    |
+    +---> courses
+    |        |
+    |        +--------------------> Course-Instance
+    |                                        ^
+    +---> certificates                       |
+             |                               |
+             +-----> Certificate-Instance    |
+                        |                    |
+                        +------> Certificate-Course
+
+The Certifcate Course here refers to a Course instance.
+
+In Python we build such a structure like this (from top to bottom):
+
+    >>> from zope.component import createObject
+    >>> mydept = createObject('waeup.Department')
+
+In real world use this data will be stored in a ZODB. We setup our own
+litte ZODB backend (which is easy!):
+
+    >>> from ZODB import FileStorage, DB
+    >>> dbpath = 'tinyData.fs'
+    >>> class TinyZODB(object):
+    ...   def __init__(self, path=dbpath):
+    ...     self.storage = FileStorage.FileStorage(path)
+    ...     self.db = DB(self.storage)
+    ...     self.connection = self.db.open()
+    ...     self.dbroot = self.connection.root()
+    ...   def close(self):
+    ...     self.connection.close()
+    ...     self.db.close()
+    ...     self.storage.close()
+
+Now we can use this ZODB as backend database and store our data
+structure:
+
+    >>> import transaction
+    >>> db = TinyZODB()
+    >>> dbroot = db.dbroot
+    >>> dbroot['mydept'] = mydept
+    >>> mycourse = createObject('waeup.Course')
+    >>> mycourse.code = 'MYCOURSE'
+    >>> mydept.courses.addCourse(mycourse)
+    >>> mycert = createObject('waeup.Certificate')
+    >>> mycert.code = 'MYCERT'
+    >>> mydept.certificates.addCertificate(mycert)
+    >>> mycert.addCertCourse(mycourse)
+
+    >>> transaction.commit()
+
+The data is now stored in the ZODB. We can close the DB, reopen it
+later and the data will still be there:
+
+    >>> db.close()
+    >>> newdb = TinyZODB()
+    >>> newdbroot = newdb.dbroot
+    >>> list(newdbroot)
+    ['mydept']
+
+The certificate course we stored in the certificate is indeed a
+referrer of the course, not a copy of it:
+
+    >>> course = newdbroot['mydept'].courses['MYCOURSE']
+    >>> certcourse = newdbroot['mydept'].certificates['MYCERT']['MYCOURSE_100']
+    >>> certcourse.course is course
+    True
+
+So, we can be sure that modifications to the course are immediately
+reflected in the certcourse.
+
+We can also be sure, that when removing courses or referrers of them,
 other data will be handled in a way we expect. That is,
 
@@ -140,2 +218,4 @@
     >>> list(fac['DEPT2'].courses)
     []
+
+
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.txt	(revision 12906)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.txt	(revision 12920)
@@ -1,4 +1,4 @@
-:mod:`waeup.kofa.university.certificate` -- Certificates for Kofa
-******************************************************************
+Certificates and Certificate Courses
+************************************
 
 .. module:: waeup.kofa.university.certificate
@@ -234,6 +234,6 @@
     <waeup.kofa.university.certificate.Certificate object at 0x...>
 
-CertificateCourses
-------------------
+Certificate Courses
+-------------------
 
 :class:`CertificateCourse` instances comply with the
@@ -258,85 +258,2 @@
     <waeup.kofa.university.certificate.CertificateCourse object at 0x...>
 
-.. _removecertificatecourses:
-
-Persistence of certificate courses
-----------------------------------
-
-If a certificate course requires a certain course and this is course
-is deleted, also the referring certificate course is deleted.
-
-We setup a data structure that reflects typical usage. It looks like
-this::
-
-    Department-Instance
-    |
-    +---> courses
-    |        |
-    |        +--------------------> Course-Instance
-    |                                        ^
-    +---> certificates                       |
-             |                               |
-             +-----> Certificate-Instance    |
-                        |                    |
-                        +------> Certificate-Course
-
-The certifcate-Course here refers to a Course-Instance.
-
-In Python we build such a structure like this (from top to bottom):
-
-    >>> from zope.component import createObject
-    >>> mydept = createObject('waeup.Department')
-
-In real world use this data will be stored in a ZODB. We setup our own
-litte ZODB backend (which is easy!):
-
-    >>> from ZODB import FileStorage, DB
-    >>> dbpath = 'tinyData.fs'
-    >>> class TinyZODB(object):
-    ...   def __init__(self, path=dbpath):
-    ...     self.storage = FileStorage.FileStorage(path)
-    ...     self.db = DB(self.storage)
-    ...     self.connection = self.db.open()
-    ...     self.dbroot = self.connection.root()
-    ...   def close(self):
-    ...     self.connection.close()
-    ...     self.db.close()
-    ...     self.storage.close()
-
-Now we can use this ZODB as backend database and store our data
-structure:
-
-    >>> import transaction
-    >>> db = TinyZODB()
-    >>> dbroot = db.dbroot
-    >>> dbroot['mydept'] = mydept
-    >>> mycourse = createObject('waeup.Course')
-    >>> mycourse.code = 'MYCOURSE'
-    >>> mydept.courses.addCourse(mycourse)
-    >>> mycert = createObject('waeup.Certificate')
-    >>> mycert.code = 'MYCERT'
-    >>> mydept.certificates.addCertificate(mycert)
-    >>> mycert.addCertCourse(mycourse)
-
-    >>> transaction.commit()
-
-The data is now stored in the ZODB. We can close the DB, reopen it
-later and the data will still be there:
-
-    >>> db.close()
-    >>> newdb = TinyZODB()
-    >>> newdbroot = newdb.dbroot
-    >>> list(newdbroot)
-    ['mydept']
-
-The certificate course we stored in the certificate is indeed a
-referrer of the course, not a copy of it:
-
-    >>> course = newdbroot['mydept'].courses['MYCOURSE']
-    >>> certcourse = newdbroot['mydept'].certificates['MYCERT']['MYCOURSE_100']
-    >>> certcourse.course is course
-    True
-
-So, we can be sure that modifications to the course are immediately
-reflected in the certcourse.
-
