code refactoring
refactoring 2