exercise 1.20 1.22
1.24 needs to be debugged
wip 1.24