HW04 complete