Added explanation and comments to the files