added some questions as comments to ask later about the code