Final Version of Assignment 1