add comments to all parts of the project and readme.md to understand project