solved exercise 3.1