HW3 fully commented