added some comments to the original
s