Refactored
Refactored x2