Exercise 8 finished, with some workarounds