                   BAUSPARVERTRAG fuer SEHER
                      -- AUSBAUVERTRAG --
         MorgenGrauen-Bank, 'Die Bank in Ihrem Ruecken'

Art. 1 (Gegenstand  des Vertrages):  Gegenstand dieses  Vertrages
ist die  verzinsliche Ansparung von  Erfahrungswerten zum  Zwecke
des  Ausbaues  der Wohnstaette des unterzeichnenden  Sehers. Eine
vorzeitige  Auszahlung (d.h.  vor Ablauf des Vertrages) ist nicht
vorgesehen. Zum Ausbau der Wohnstaette s.u.Art.  3, zur  Laufzeit
s.u. Art. 4 Abs.2, zur Erfuellung des Vertrages s.u. Art. 6.

Art.   2   (Parteien):   Parteien  dieses   Vertrages  sind   die
MorgenGrauen-Bank auf der einen Seite (im folgenden Bank genannt)
und Sie,  der unterzeichnende  Seher auf  der  anderen Seite  (im
folgenden Seher genannt). Gemaess unserer Unternehmensphilosophie
sind Bank und Seher bei diesem Rechtsgeschaeft  gleichberechtigte
Partner.

Art.  3 (Ausbau der Wohnstaette): Als Ausbau der Wohnstaette i.S.
dieses   Vertrages   gilt   der   MorgenGrauen-Seher-Einheitsraum
(MIN-Norm 15648), welcher jedoch beschraenkt  modifizierbar  ist.
Zu den moeglichen Modifikationen s.u. Anhang  A. Zum  Volumen und
dem Zinsertrag des Bausparvertrages s.u. Art. 4 Abs.1 und  Abs.3.

Art.  4 (Finanzierung):  Abs.1 (Kapitalvolumen)  Das Volumen  des
Vertrages ist variabel. Es belaeuft sich bei  Option A (s. Abs.2)
auf 1017600, und bei Option B (s.Abs.2) auf 848000  MorgenGrauen-
Erfahrungspunkte  (EP).  In  diesen  Betrag  eingeschlossen  sind
sowohl Ihre zu  leistenden Zahlungen als auch der erwirtschaftete
Zinsertrag.

  Abs.2  (Ratenzahlung/Laufzeit)  Die  Bank  bietet  Ihnen   zwei
  unterschiedliche Moeglichkeiten der Finanzierung:
  Option A: DER SANFTE WEG ZUM AUSBAU       Bei einer  Ratenhoehe
  von 80000 EP  innerhalb von jeweils 4 Online-Stunden und  einer
  Ratenanzahl von 12  betraegt die  Gesamtlaufzeit  des Vertrages
  48 Online-Stunden.
  Option B: DER SCHNELLE WEG ZUM AUSBAU     Bei einer  Ratenhoehe
  von 80000 EP  innerhalb von jeweils 2 Online-Stunden und  einer
  Ratenanzahl  von 10 betraegt die  Gesamtlaufzeit des  Vertrages
  20 Online-Stunden.
  Die Laufzeit  beginnt mit dem Inkrafttreten  des Vertrages  und
  endet mit dem  Einbau des Ausbaus.  Bei Saumnis des Sehers sind
  sind die Bestimmungen  des Art. 4 Abs.5  anzuwenden.
  Der  Vertrag wird  mit der Unterschrift  des jeweiligen  Sehers
  wirksam. Zu den Bestimmungen  ueber die  Unterschrift wird  auf
  Art. 5 verwiesen.

  Abs.3 (Zinsertrag) Der Zinssatz belaeuft  sich  auf 6,00%.  Die
  Zinsen werden mit Einzahlung des letzten Erfahrungspunktes  be-
  rechnet. Hieraus ergibt sich ein Zinsertrag von genau  57600 EP
  bei Option A und 48000 bei Option B.

  Abs.4  (Einzahlung)  Die  Bank  bietet  Ihnen  eine bisher  nie
  dagewesene  finanzielle Flexibilitaet mit dem MG  MASTER-BLOCK.
  Auch bei unvorhergesehenen und spontanen Raubzuegen koennen Sie
  sich jederzeit Erfahrungspunkte gutschreiben lassen. Sie tragen
  nur  Ihren  Block wie ein  uebliches Amulett und  waehrend  des
  Kampfes oder auch  beim Loesen einer Quest  wird ihnen ein Teil
  der  Erfahrungspunkte  gutgeschrieben  (bis  zur  Ratenhoechst-
  grenze). Bareinzahlung der Raten ist nicht moeglich.

  Abs.5 (Saeumniss) Saeumniss i.S. dieses Vertrages besteht immer
  dann, wenn  der Unterzeichnende den in  Art.3  Abs.2  genannten
  Mindestratenzeitraum  ueberschreitet. Dabei wird zunaechst eine
  Vertragsstrafe in Hoehe von 60% der  Rate faellig. Wird  darauf
  die Strafe nicht  innerhalb von 2 Online-Stunden (bei Option A)
  oder  1 Online-Stunde  (bei Option B)  waehrend der  natuerlich
  weiterlaufenden,  normalen  Ratenzahlungsfrist  beglichen, gilt
  der  Vertrag ex  nunc  als hinfaellig. Bei  Hinfaelligkeit  des
  Vertrags  wird  das  bisher eingezahlte  Kapital von  der  Bank
  einbehalten.

Art. 5  (Unterschrift): Als  gueltige Unterschrift  wird nur  ein
individuelles  Zeichen  auf  dem  dafuer  vorgesehenen  Platz  am
unteren,  rechten  Rand  der  letzten   Seite  dieses   Vertrages
zugelassen (MIN-Norm 32454). Zur Sicherung der Authentizitaet des
Dokuments ist die Unterschrift weiterhin mit Herzblut zu leisten.
Als Schreibutensil werden sowohl eine Feder als auch ein Skalpell
von der  Bank zur Verfuegung gestellt. Die Unterschrift kann  nur
in Anwesenheit  eines autorisierten  Angestellten unseres  Hauses
geleistet werden.

Art. 6 (Erfuellung des Vertrages): Bei  Erfuellung des  Vertrages
lt.  den o.a. Art. wird bei  Vorlage des  Vertrages an der dafuer
eingerichteten  Stelle der Ausbau der  Heimstatt des Sehers durch
unseren   Ausbauservice   nach   MIN-Norm   20815   unverzueglich
vorgenommen.   Dem  Seher  entstehen  hierdurch   keine  weiteren
Verpflichtungen.

Art. 7 (Ansprueche  des Kunden)  Fuer etwaige  Schaeden am  Leser
dieses  Vertrages  uebernimmt  die  Bank  keine  Haftung, da  sie
ausschliesslich   auf   fehlerhaftes   Lesen   oder    Missbrauch
zurueckzufuehren sind. Ansonsten garantiert die  Bank, dass  sich
der Vertrag im wesentlichen  (und   nicht etwa  komplett) an  die
derzeitig   gueltigen   Regeln   der   deutschen       Grammatik,
Orthographie, und Stilistik  (und nicht etwa  an die  Regeln  des
gesunden  Menschenverstandes)  haelt.  Bezueglich aller  unklaren
Begriffe in den o.a. Art., welche sich  auf bankinterne  Ablaeufe
beziehen, haben Sie das Recht, die in der Bank  aushaengenden AGB
zu  lesen.  Unsere  freundlichen  geschulten  Mitarbeiter  werden
sicherlich gerne auf die  wenigen noch  offenen Fragen  eingehen.
In jedem Fall gilt das  Recht einer  von uns  im Schadensfall  zu
benennenden Region.

Wir danken Ihnen fuer das entgegengebrachte Vertrauen

i.A.
Aufsichtsratsvorschwitzender Dr. fac. ju. Beldin
Oberjurisdiktionsschrat Dr. hcl. Olim



                                   ------------------------------
                                   (Unterschrift von ***********)


Anhang A (Auszug aus  den Beschluessen  der MG-Normenkonferenz)
"Modifikation:"
[...]
Der  Ausbau  wird  in  einheitlicher  Groesse   und   Ausstattung
angeliefert  (MIN-Norm  15648).   Der  Einbau  des   Ausbaus  ist
jedoch   nur    und   ausschliesslich    gestattet    in    einem
MorgenGrauen-Seher-Einheitshaus (MIN-Norm 15648).   Um   etwaigem
Missbrauch vorzubeugen,  hat der  Einbau des  Ausbaus  nur  durch
geschultes Fachpersonal zu erfolgen. [...]
Dem  Besitzer ist es  erlaubt im  Inneren  gewisse,  individuelle
Merkmale einzubringen.

Anhang B (Lieferbestimmung der  Gesellschaft fuer gemeinnuetzigen
          Wohnungsbau m.b.H.)
[...]
IV. Garantie
Die GfgWbmbH uebernimmt keine Garantie fuer das uneingeschraenkte
Funktionieren  des  Morgengrauen-Seher-Einheitsraumes   (MIN-Norm
15648) bei der Auslieferung. Fehler im, sowie am  Raum sind  nach
dem derzeitigen Stand  der Bautechnik  unvermeidlich und  fuehren
nicht   zu   Ersatzanspruechen.   Fuer   etwaige   Schaeden    am
MorgenGrauen-Seher-Einheitsraum  (MIN-Norm  15648)  nach   dessen
Einbau   uebernimmt   die   GfgWbmbH   keine   Haftung,   da  sie
ausschliesslich   auf  fehlerhaftes   Bewohnen  oder   Missbrauch
zurueckzufuehren  sind.
