updated exercise 3 copy