diff --git a/README b/README
index 40da14186ecc8c6a160b0af90db40f0451387ce8..19b75edbfdc27d0560f087100244a5d7bb6d853c 100644
--- a/README
+++ b/README
@@ -1,5 +1,3 @@
-TODO: this file needs to be overhauled
-
 ALBERTA  is an Adaptive multi-Level finite element toolbox using 
          Bisectioning refinement and Error control by Residual
          Techniques for scientific Applications.
@@ -11,21 +9,21 @@ Contents
 
 I.   Introduction
 
-II.  External Packages (both required and optional packages)
-   1.) Required Packages
+II.  External Packages (all optional)
          OpenGL
          BLAS (with examples)
-   2.) Optional Packages
          gltools
          GRAPE
          Silo
-         OpenDX 
+         OpenDX
+         Paraview
          alternate compilers
 
 III. Configure Options
-   1.) Non-standard behavior of ALBERTA
+   1.) ALBERTA's installation paths
    2.) Options affecting which versions of ALBERTA are built
-   3.) Options controlling the search-path for external libraries
+   3.) Options controlling specific features
+   4.) Options controlling the search-path for external libraries
 
 IV.  Compiler flags (with examples)
 
@@ -37,8 +35,7 @@ V.   Some platform dependent notes and examples
 I) Introduction
 ===============
 
-This is ALBERTA Version 3.0. ALBERTA has a web-page
-at
+This is ALBERTA Version 3.0. ALBERTA has a web-page at
 
         http://www.alberta-fem.de/
 
@@ -57,87 +54,127 @@ beast in a directory hierarchy below the path-prefix PREFIX, where
 PREFIX defaults to `/usr/local/' if the `--prefix' switch is omitted.
 
 0) The directory layout
-Contained in the package are the following sub-packages:
-
-                   __________ alberta/ __________ src/ ______|--- 1d/
-                  /                         \                |--- 2d/ 
-                 /                           -- doc/         |--- 3d/
-                /                                            |--- Common/
-               /                                             |--- alberta*/
-              /_____________ demo/ __ src/ _______|--- 1d/
-alberta-3.0  /                                    |--- 2d/  
-             \                                    |--- 3d/
-              \                                   |--- 4d/
-               \                                  |--- 5d/
-                \                                 |--- Common/
-                 \                                   
-                  \                           
-                   \__________ alberta_util/ ___ src/
-                    \
-                     \
-                      \_______ add_ons/ ---- grape/ __ mesh/ ____|--- 2d/
-                       \               \                         |--- 3d/
-                        \               \                        |--- Common/
-                         \               \
-	                  \               - meshtv/ ___|--- 1d/
-		           \               \           |--- 2d/ 
-		            \               \          |--- 3d/
-		             \               \         |--- Common/
-                              \               \
-                               \               \- geomview/
-                                \
-                                 \_ configure.ac and other distribution
-                                    files
-
-1) alberta
-The main package.
-
-2) demo 
-The sub-directory `demo/' contains a few demonstration programs. After
-running "make install" (see file `./INSTALL') a tar-ball containing
-all demo programs will be installed in `PREFIX/share/alberta/'. The
-tar-ball can be extracted elsewhere; the make-files contained in the
-tar-ball have appropriate defaults for the location of the (installed)
-ALBERTA libraries and header files.
-
-3) alberta_util
-This package contains the old ALBERTA util.c file, now split into
-several smaller source files. As of version 2.0 it also contains the former
-SOLVER library. It is compiled to form a separate utility library 
-(message macros, ALBERTA memory allocation routines, BLAS routines and 
-wrappers, etc.) and should linked to any program using the ALBERTA package. It
-can also be used as a stand-alone utility library.
-
-4) grape
-GRAPE interface for ALBERTA. Only for non-parametric FE of dimension 2
-and 3.  The GRAPE-interface consists of "make" will create
-"alberta_grapeXX" and alberta_moviXX" where XX is in {22, 33}.  "make
-install" will install those programs below `PREFIX/bin/'.
-
-The GRAPE interface is only installed when the GRAPE library and
-header file are available on your system (determined at configure
-time, use "configure --help" for appropriate command line switches for
-"configure").
-
-5) meshtv
-MeshTV interface for ALBERTA. Only for non-parametric FE. The MeshTV
-interface consists of the programs "alberta_meshtvX" with X in
-{1,2,3}. These are installed in `PREFIX/bin/' as well.
-
-The interface is only installed if the Silo library and header files are
-available on your system. See "configure --help" for details.
+~~~~~~~~~~~~~~~~~~~~~~~
+Contained in the package-tree are the following sub-directories
+(ommitting 3rd-level sub-directories below add_ons/):
+
+                                                              ___ 0d/
+                        ____________ alberta/ ___ src/ ______|___ 1d/
+                       /        \                            |___ 2d/ 
+                      /          \__ doc/                    |___ 3d/
+                     /                      ___ 1d/          |___ Common/
+                    /                      |___ 2d/          |___ alberta*/
+                   /_ demo/ __ src/ _______|___ 3d/
+                  /                        |___ 4d/  
+                 /                         |___ 5d/
+                /                          |___ Common/
+               /                                     
+              /                                          
+             /                                
+alberta-3.0 /                         
+            \___ alberta_util/ ___ src/
+             \
+              \                ____ bamg2alberta/
+               \__ add_ons/___/
+                \             \____ block_solve/
+                 \             \                                    
+                  \             \___ geomview/
+                   \             \
+                    \             \___ gmv/
+                     \             \           
+                      \             \___ grape/
+                       \             \         
+                        \             \___ libalbas/
+                         \             \             
+                          \             \            
+                           \             \___ meshtv/
+                            \             \
+                             \             \___ paraview/
+                              \             \
+                               \             \___ static_condensation/
+                                \             \
+                                 \             \___ triangle2alberta/
+                                  \             \
+                                   \             \___ write_mesh_fig/
+                                    \
+                                     \_ configure and other distribution
+                                        files
+
+Short description of the sub-directories:
+
+* alberta
+  The main package.
+
+* demo 
+  The sub-directory `demo/' contains a few demonstration
+  programs. After running "make install" (see file `./INSTALL') a
+  tar-ball containing all demo programs will be installed in
+  `PREFIX/share/alberta/'. The tar-ball can be extracted elsewhere;
+  the make-files contained in the tar-ball have appropriate defaults
+  for the location of the (installed) ALBERTA libraries and header
+  files.
+
+* alberta_util
+  This package contains the old ALBERTA util.c file, now split into
+  several smaller source files. As of version 2.0 it also contains the
+  former SOLVER library. It is compiled to form a separate utility
+  library (message macros, ALBERTA memory allocation routines, BLAS
+  routines and wrappers, etc.) and should linked to any program using
+  the ALBERTA package. It can also be used as a stand-alone utility
+  library.
+
+* bamg2alberta
+  A converter from the FreeFem++ grid-generatar `bamd' to ALBERTA
+  macro file format.
+
+* block_solve
+  Block-matrix support.
+
+* geomview
+  Simple ALBERTA-OOGL converter.
+
+* gmv
+  Stand-alone converter ALBERTA-gmv.
+
+* grape
+  GRAPE interface for ALBERTA. Only for non-parametric FE of dimension
+  2 and 3.  The GRAPE-interface consists of "make" will create
+  "alberta_grapeXX" and alberta_moviXX" where XX is in {22, 33}.
+  "make install" will install those programs below `PREFIX/bin/'.
+
+  The GRAPE interface is only installed when the GRAPE library and
+  header file are available on your system (determined at configure
+  time, use "configure --help" for appropriate command line switches
+  for "configure").
+
+* libalbas
+  Implementation of some more fancy basis functions (bubbles, direct
+  sums).
+
+* meshtv
+  MeshTV interface for ALBERTA. Only for non-parametric FE. The MeshTV
+  interface consists of the programs "alberta_meshtvX" with X in
+  {1,2,3}. These are installed in `PREFIX/bin/' as well.
+ 
+  The interface is only installed if the Silo library and header files
+  are available on your system. See "configure --help" for details.
+
+* paraview
+  Stand-alone converte ALBERTA-Paraview
+
+* static_condensation
+  Condensation of element bubbles, resulting in a drastical reduction
+  of the dimension.
+
+* triangle2alberta
+  Converter from the Triangle grid generator to the ALBERTA macro-file format.
+
+* write_mesh_fig
+  Dump a mesh to disk in a format suitable for xfig(1).
 
 II) External packages
 =====================
 
-1) Required Packages
---------------------
-
-The software-packages mentioned here are mandatory. You will not be
-able to compile and use ALBERTA without them. The configure-script
-will attempt to detect them at build-time (see "Configure Options"
-below).
-
 OpenGL -- you need some implementation of SGI's 3D-API. If your system
 	does not have OpenGL you can fetch the free OpenGL
 	implementation "MesaGL" from
@@ -145,7 +182,9 @@ OpenGL -- you need some implementation of SGI's 3D-API. If your system
 		http://www.mesa3d.org/
 
 	If you don't have a clue what this is all about then ask your
-	system-administrator.
+	system-administrator. In former version OpenGL was required to
+        compile ALBERTA, starting with this release graphical output
+        is an optional feature.
 
 BLAS -- "Basic Linear Algebra Subprograms"
 	You definitely need some version of the BLAS. Often the BLAS
@@ -169,13 +208,8 @@ BLAS -- "Basic Linear Algebra Subprograms"
 	this restriction by linking in additional libraries, as shown
 	in some of the platform dependent examples listed below.
 
-
-2) Optional Packages
---------------------
-
-The software-packages mentioned here are not required to compile and
-use ALBERTA. They are detected by the configure-script at build-time
-and are used when available (see "Configure Options" below).
+        ALBERTA can be compiled without BLAS, in which case
+        C-replacements are used instead of the BLAS-functions.
 
 gltools -- OpenGL toolkit
 	We strongly recommend that you install the gltools package;
@@ -248,6 +282,10 @@ Geomview -- An ancient program, originally from the Geometry Center,
         meshes -- the `gvemod-ndview' add-on. Both are available from
         SourceForge.
 
+Paraview -- For viewing the output from the alberta2paraviewXd converters.
+
+	http://www.paraview.org
+
 alternate compilers
 	Many CPU-vendors distribute highly optimizing compilers for
 	their specific CPU architecture. Often those compilers
@@ -266,8 +304,8 @@ generic command line options for configure.
 The remaining (i.e. ALBERTA specific) options are explained here:
 
 
-1.) Non-standard behavior of ALBERTA
--------------------------------------
+1.) ALBERTA's installation paths
+--------------------------------
 
 The default installation prefix of the ALBERTA-package is the default
 GNU installation prefix, i.e. `/usr/local/' Of course, you can change
@@ -283,9 +321,10 @@ the header-files and Makefile.alberta will end up in
 
 	/usr/local/include/alberta/
 
-The configured libtool-script will reside in 
+The configured libtool-script and the Makefile-fragment for the
+demo-suite will reside in
 
-	/usr/local/libexec/alberta-2.0/
+	/usr/local/libexec/alberta-VERSION/
 
 and finally the demo package (under the name alberta-VERSION.demo.tar.gz,
 where VERSION denotes the actual version of the alberta package) will
@@ -323,12 +362,45 @@ The options below control which of them are actually created.
                           information. (default: enabled)
   --disable-graphics      disable support for visualization, including all
                           add-ons which need graphics. (default: enabled)
+
+3.) Options controlling specific features
+-----------------------------------------
+
   --enable-efence         use the malloc debugger "Electric Fence" for all
                           allocations for the DEBUG libraries, the optimized
                           libraries will still use the default allocators.
                           (default: disabled)
-
-3.) Options controlling the search-path for external libraries
+  --enable-fortran-blas   Use BLAS routines for some basic linear algebra
+                          stuff. (default: disabled)
+ --disable-vector-basis-functions
+                          Disable support for vector-valued basis functions.
+                          If you leave this enabled ALBERTA supports
+                          DIM_OF_WORLD-valued basis functions and scalar basis
+                          functions. If you disable this feature ALBERTA only
+                          supports scalar valued basis functions.
+                          DIM_OF_WORLD-valued basis functions play an
+                          important role, e.g. for the discretisation of
+                          problems involving H(div) (Maxwell equations ...)
+                          and, e.g., for stable mixed discretisations for the
+                          Stokes-problem. Building ALBERTA with support for
+                          vector valued basis functions increases the
+                          compile-time, otherwise it should not have any
+                          measureable performance impact, therefore this
+                          feature is normally ENABLED. Disable it to reduce
+                          the compile time if you do not need this feature.
+                          (default: enabled)
+  --disable-chained-basis-functions
+                          Disable support for chains of basis-functions.
+                          ALBERTA has support for forming direct sums of
+                          FE-spaces. This is useful, e.g., to implement
+                          certain stable mixed discretisations for the
+                          Stokes-problem (P1+Bubble = Mini, P1+FaceBubble =
+                          Bernardi-Raugel, weak slip b.c.). Keeping this
+                          feature enabled will have a slight performance
+                          impact, you may disable it if you do not need this
+                          feature. (default: enabled)
+ 
+4.) Options controlling the search-path for external libraries
 --------------------------------------------------------------
 
 See also "External Packages" above.
@@ -451,7 +523,9 @@ and "-O" otherwise.
 The default flags for the debugging-enabled libraries are
 "-O0 -ggdb -fno-inline -fno-builtin" with gcc and "-g" otherwise.
 
-The relevant environment- respectively make-variables are
+The relevant environment- respectively make-variables are listed at
+the end of the online-help provided by running `configure --help'.
+They include:
 
 CFLAGS
   C-compiler flags used for _both_, optimized and debug enabled libraries
@@ -464,7 +538,7 @@ ALBERTA_DEBUG_CFLAGS
   C-compiler flags used for the debug enabled library. They are
   prepended to the CFLAGS variable.
 
-FFLAGS
+ALBERTA_FFLAGS
   Fortran-compiler flags. They are separated from the CFLAGS because
   in general the Fortran compiler can come from a different vendor
   than the C-compiler in which case the flags understood by the