Assignment 1 Almost done.