CS310 Assign2, Part 4