refactoring - working
refactoring - working