documentation refactor and update