This is part 3 of Assignment 5.