HW4 finished

finished HW4. overly large commit. Next week will have smaller