comment and refactoring