more documentation, and a lot of small adjustments