Documentation redo, big refactor.