updated exercise 2.1