refactoring, docs