added in a few comments to help