Refactored.
Refactored.
Refactored.