HW4 new attempt