Assignment 3: Final Project