Did exercises 3.5.1, 3.5.2