Finished exercise 1.28