refactoring
code documenting