added some comments to remember what is going on