documentation refactor