solution for final exercise 7