Final Version for Assignment 7