substantial improvements to the documentation, still not finished