finished reading through practice problem 3.5