updated exercise 8.1