Task 6
Task 7 improvement
Task 8

Still working on it