exercise 2.13 done
exercise 2.14 done
exercise 2.15 done
exercise 2.16 done