added more comments to describe what we need to do