Completed exercises 5.4, 5.5, 5.6, 5.7