lots of work on v4.0.0 documentation