- refactoring and comments