Assign4 almost done