exercise 3 added.