refactored code, without changes