Assignment 4
almost done!