major doc refactor