refactoring & comments