refactoring 2

refactoring 2