Final version Assignment 1