Refactoring with scales, uncompleted
Refactored