Level 8 Completed, needs refactoring though