Refactored 3.