Completed exercises 4.3, 4.4, 4.5