final version of HW3