Finished exercise 17.
Finished exercise 18.
Finished exercise 19.
Finished exercise 20.
Finished exercise 21.
Finished exercise 24.