refactoring and comment code
refactoring and comment code