HW3 - complete