docs, refactoring