most of the way through the main documentation