refactoring documentor