refactoring code
refactoring