added comments to find things easier