exercise 5.3 added