HW3: complete before submission