Improved documentation.
Lots of changes.