updated exercise 8