Assignment 3 CS193P