Assignment 6 by Henry Zeng