exercises 3.3.2 and 3.3.3