refactoring
refactoring 2