90% done on assignment 2