First attempt at 4
Refactored and added 9