Assignment 1 for ITP 499