added some more explanation for the example