final update exercise 1