Finished exercise 20 and its extra credit.