refactoring / documenting