assignment 1 Final Version