First Complete Version of Assignment 2