redoing the HW3