diff --git a/MAINTENANCE b/MAINTENANCE
index 0f73d009c60dfd18b0f277419494c95e136e67fd..4bdf4b82338eae0f8f84aa428d928630e6cd9242 100644
--- a/MAINTENANCE
+++ b/MAINTENANCE
@@ -2,14 +2,20 @@ MAINTENANCE DOCUMENTATION FOR ALBERTA PACKAGES
 Daniel Koester, December 2002
 dani@mathematik.uni-freiburg.de
 
+Claus-Justus Heine, December 2003
+claus@mathematik.uni-freiburg.de
+
 I) Introduction and Maintenance
 ===============================
 
-The alberta-x.x packages are now distributed using GNU autoconf 2.53, automake 1.6, and libtool 1.4.2. Since some unusual compilation was necessary, a few hints seemed like a good idea. Here is the general structure of the alberta-1.2 packages:
+The alberta-x.x packages are now distributed using GNU autoconf 2.5*,
+automake 1.7*, and libtool 1.5*. Since some unusual compilation was
+necessary, a few hints seemed like a good idea. Here is the general
+structure of the alberta-1.2 packages:
 
                  __________ ALBERTA/ __________ src/ _______|--- 1d/
                 /                          \               |--- 2d/ 
-               /___________ BLAS/           -- doc/        |--- 3d/
+               /                            -- doc/        |--- 3d/
               /                                            |--- Common/
              /_____________ DEMO/ __ src/ _______|--- 1d/  |--- ALBERTA??_?/
 alberta-1.2/ *                                    |--- 2d/  
@@ -23,7 +29,7 @@ alberta-1.2/ *                                    |--- 2d/
                     \                            |--- 3d/
                      \                           |--- Common/
                       \
-                       \___ [gltools-2-4/] optional
+                       \                           
                         \
                          \_ configure.ac and other distribution
                             files
@@ -31,8 +37,9 @@ alberta-1.2/ *                                    |--- 2d/
 We keep track of the "Makefile.am"s, which are processed by automake
 to create "Makefile.in"s. Two exceptions:
 
-1) The "Makefile.in"s in DEMO/src/*d are independently maintained. They have a
-simple structure compared to "real" "Makefile.in"s produced by automake.
+1) The "Makefile.in"s in DEMO/src/*d are independently
+maintained. They have a simpler structure than "real" "Makefile.in"s
+produced by automake.
 
 2) The "Makefile.alberta.in" in ALBERTA/src/Common/, see below.
 
@@ -53,11 +60,7 @@ The following subpackages are included in alberta-1.2:
 1) ALBERTA
 The main package.
 
-2) BLAS
-Basic Linear Algebra Subroutines, these are compiled if the system on which
-ALBERTA will run does not supply them.
-
-3) DEMO
+2) DEMO
 A few demonstration programs. This package is not touched by automake and
 includes several small Makefile.in's in which configure substitutes values
 like installation paths for libraries and headers. This directory can be
@@ -65,20 +68,20 @@ copied elsewhere by the user after installation. The Makefiles include
 "Makefile.alberta" which resides in $installdir/include together with the
 C-header files. They are meant to faciliate the first steps with ALBERTA.
 
-4) ALBERTA_UTIL
+3) ALBERTA_UTIL
 This package contains the old ALBERTA util.c file, now split into several
 smaller source files. It is compiled to form a separate utility library
 (message macros, ALBERTA memory allocation routines, etc.) and should linked
 to any program using the ALBERTA package.
 It can also be used as a standalone utility library.
 
-5) PLOT_ANSI
+4) PLOT_ANSI
 PLOT_ANSI provides tools for displaying X11 graphics, if gltools is not used.
 
-6) SOLVER
+5) SOLVER
 Linear and nonlinear solver routines for ALBERTA.
 
-7) GRAPE
+6) GRAPE
 GRAPE interface for ALBERTA
 
 III) External packages
@@ -105,30 +108,32 @@ Step 0)
   http://www.cvshome.org/docs/manual/
   http://ccvs.cvshome.org/fom//cache/1.html
 
-  (the latter link seems to be a bit funky, may better use the CVS home page
-  as entry point.)
+  (the latter link seems to be a bit funky, maybe better use the CVS
+  home page as entry point.)
 
-  There are a couple of front-end for CVS, e.g. an Emacs mode and many others.
+  There are a couple of front-end for CVS, e.g. an Emacs mode and many
+  others.
 
 Step 0a)
-  Make sure the stuff you are checkingin at least builds without errors.
+  Make sure the stuff you are checking in at least builds without
+  errors.
 
 Step 1)
-  Do [g]make clean cvs-clean. This deletes all files which are not part of the
-  CVS directory tree, but are in the CVS-maintained directories. Also does
-  "chgrp -R alberta *"
+  Do [g]make clean cvs-clean. This deletes all files which are not
+  part of the CVS directory tree, but are in the CVS-maintained
+  directories. Also does "chgrp -R albert ."
 
 Step 2)
   cvs commit
-  NOTE: this commits _all_ changed files. It is probably bette
+  NOTE: this commits _all_ changed files. It is probably better
   to commit on a file-per-file basis:
 
   cvs commit FILE1 .... FILEN
   with a selected collection of file you really want to commit.
 
-  ALSO: it is required that all commits are properly documented. The comments
-  must be written in a way that other people can understand them.
-
+  ALSO: it is required that all commits are properly documented. The
+  comments must be written in a way that other people can understand
+  them.
 
 Another possibility (avoiding Step 1) from above) is the following:
 
@@ -163,81 +168,130 @@ Another possibility (avoiding Step 1) from above) is the following:
 
   cvs -d :ext:USER@COMPUTER.mathematik.uni-freiburg.de:/net/sauron/graid/ALBERTA_CVS/ commit FILE1 ... FILEN
 
-  This will take care of setting the correct permissions and group id's in
-  the ALBERTA CVS repository. It will fail if you are not a member of the 
-  access group "alberta", but then you shouldn't attempt to commit changes
-  at all, ask one of the ALBERTA maintainers for help.
+  This will take care of setting the correct permissions and group
+  id's in the ALBERTA CVS repository. It will fail if you are not a
+  member of the access group "alberta", but then you shouldn't attempt
+  to commit changes at all, ask one of the ALBERTA maintainers for
+  help.
 
 V) How to create a distribution
 ===============================
 
 Step 0)
-Become familiar with CVS.
+  Become familiar with CVS.
 
 Step 1)
-At the moment, the subpackages ALBERTA, BLAS, DEMO, ALBERTA_UTIL, PLOT_ANSI,
-GRAPE and SOLVER are maintained using the version control system CVS. To
-prepare a distribution, one must first check out the distribution version of
-these packages. To this aim there exists an "albertadist" module. Checking it
-out will create the ALBERTA package with the directory structure describe
-right at the beginning of this file.
+  At the moment, the subpackages ALBERTA, BLAS, DEMO, ALBERTA_UTIL,
+  PLOT_ANSI, GRAPE and SOLVER are maintained using the version control
+  system CVS. To prepare a distribution, one must first check out the
+  distribution version of these packages. To this aim there exists an
+  "albertadist" module. Checking it out will create the ALBERTA
+  package with the directory structure described right at the
+  beginning of this file.
 
   cvs co albertadist
 
-also checks out CVS administration directories in each module. This is ok,
-since Makefiles produced by configure have a fixed set of directories to be
-included in a distribution. Another possibility is
+  also checks out CVS administration directories in each module. This
+  is ok, since Makefiles produced by configure have a fixed set of
+  directories to be included in a distribution. Another possibility is
 
   cvs export albertadist
 
-which strips the CVS directories.
+  which strips the CVS directories.
 
-Actually, when making a _real_ distribution (i.e. you are not only playing
-with "make dist", you should set a symbolic tag with cvs _first_, e.g.
+  Actually, when making a _real_ distribution (i.e. you are not only
+  playing with "make dist", you should set a symbolic tag with cvs
+  _first_, e.g.
 
   cvs rtag ALBERTA_2_0 abertdist
 
-Afterwards, check out _that_ version of ALBERTA
+  Afterwards, check out _that_ version of ALBERTA
 
   cvs co -r ALBERTA_2_0 albertadist
 
 Step 2)
-The next step is to adjust the desired libraries, especially the ALBERTA
-libraries. Each ALBERTA library has its own directory of the form
-"ALBERTA[DIM][DIM_OF_WORLD]_[DEBUG=0 or 1][EL_INDEX=nothing or 1]" since
-compilation is different for each library version. If these settings are to
-be changed, make a new directory (as in ALBERTA13_0[1]) for example, create a
-copy of the Makefile.am from another directory and adjust the obvious
-settings like "DIM", "DIM_OF_WORLD", etc. The Makefile.am in these
-directories uses VPATH to find sources in src/?d and src/Common.
-
-Step 3a)
-Make sure you have a recent version of GNU automake, autoconf and libtool
-and run "autoreconf" in the "albertadist" directory.
+  The next step is to adjust the desired libraries, especially the
+  ALBERTA libraries. Each ALBERTA library has its own directory of the
+  form "ALBERTA[DIM][DIM_OF_WORLD]_[DEBUG=0 or 1][EL_INDEX=nothing or
+  1]" since compilation is different for each library version. If
+  these settings are to be changed, make a new directory (as in
+  ALBERTA13_0[1]) for example, create a copy of the Makefile.am from
+  another directory and adjust the obvious settings like "DIM",
+  "DIM_OF_WORLD", etc. The Makefile.am in these directories uses VPATH
+  to find sources in src/?d and src/Common.
 
 Step 3)
-Do "[g]make dist" at the top level.
-This creates alberta-1.2.tar.gz in which all CVS-directories, ~-files, and
-other unnecessary components are stripped. To be a bit preciser:
+  Make sure you have a recent version of GNU automake, autoconf and
+  libtool and run "autoreconf" in the "albertadist" directory. At the
+  moment ALBERTA needs autoconf-2.5*, automake-1.7* and libtool-1.5*.
+
+  The version numbers of GNU programs can be checked by running
+
+  foobar --version
+
+  where you have to replace foobar by the proper name of the program.
+
+  The m4/ subdirectory contains (beside other files) modified versions
+  of the following standard libtool respectively autoconf macro files:
+
+  libtool.m4 -- changed the "-c -o" test (around line 946)
+  fortran.m4 -- needed to be changed to enable compilation on MacOS X
+                (Darwin)
+
+  Keep this in mind when upgrading to new versions of libtool and
+  autoconf. In particular, when upgrading one should check whether
+  those two hacks are still needed.
+
+Step 4)
+  Rebuild the Makefile.am's for the ALBERTA libraries, this is done by
+  running the shell-script
+
+  ./generate-alberta-automakefiles.sh
+
+Step 5)
+  Reconfigure ALBERTA with the following (additional) switches:
+
+  --enable-el-index
+  --enable-alberta-12
+  --enable-alberta-13
+  --enable-alberta-23
+  --enable-maintainer-mode
+
+  and make sure you have GRAPE installed and ALBERTA's configure
+  script finds it.
+
+Step 6)
+  Do "[g]make dist" at the top level.  This creates alberta-1.2.tar.gz
+  in which all CVS-directories, ~-files, and other unnecessary
+  components are stripped. To be a bit more precise:
+
+  a) All sources and headers are included, of course.
+
+  b) All "Makefile.am"s and "Makefile.in"s are included. Ideally, the
+  user simply enters "configure" followed by "[g]make", "[g]make
+  install" to install everything.
+
+  c) "configure" AND "configure.ac" are included, so that possible
+  installation problems can (hopefully) be corrected after feedback
+  with us.
 
-a) All sources and headers are included, of course.
+If you have an already configure version of ALBERTA, then you can make
+a distribution by running
 
-b) All "Makefile.am"s and "Makefile.in"s are included. Ideally, the user
-simply enters "configure" followed by "[g]make", "[g]make install" to
-install everything.
+make generate-alberta-dist
 
-c) "configure" AND "configure.ac" are included, so that possible
-installation problems can (hopefully) be corrected after feedback with us.
+which runs the steps 4.)-5.).
 
 
 V) Possible problems and tested platforms
 ================================
 
 Some things are already explained in "configure.ac". If not explicitly
-stated otherwise below, "configure" will run without extra command line
-options.
-Choosing not to use libtool would require many changes, the first would be
-to change all "LTLIBRARIES" to "LIBRARIES" in all "Makefile.am"s.
+stated otherwise below, "configure" will run without extra command
+line options.
+Choosing not to use libtool would require many changes, the first
+would be to change all "LTLIBRARIES" to "LIBRARIES" in all
+"Makefile.am"s.
 
 1) mips-sgi-irix6.5:
   a) The -lgl and -lGL libraries are required.