Description
Currently, block comments are present in the code, helping the user understand the related parts. However, a method-level documentation in the form of Python Docstrings is missing.
Proposed solution
Document all the (non-helper) methods using Python Docstrings, in the following format:
![image](https://private-user-images.githubusercontent.com/45541174/261442782-a7d08d0b-ec09-412a-bcc0-54c35ee3f249.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTEiLCJleHAiOjE3MDMwMTA4MDMsIm5iZiI6MTcwMzAxMDUwMywicGF0aCI6Ii80NTU0MTE3NC8yNjE0NDI3ODItYTdkMDhkMGItZWMwOS00MTJhLWJjYzAtNTRjMzVlZTNmMjQ5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFJV05KWUFYNENTVkVINTNBJTJGMjAyMzEyMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjMxMjE5VDE4MjgyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgxYmI4NGVjOWQwYmE2ZTc4OWFmMDRlY2VhODhlYTBmZjY2MWJhNDQ1MjI3MjQ3NDlmMzQ4ZWY0MDU2NWU5ZWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.aDB4gAA-c2m38qJq_8ffIGxr75QAbVAYwrH6pXYwE4Y)
![image](https://private-user-images.githubusercontent.com/45541174/261442825-34d3e65c-e009-4afe-b7ba-9fe197b06988.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTEiLCJleHAiOjE3MDMwMTA4MDMsIm5iZiI6MTcwMzAxMDUwMywicGF0aCI6Ii80NTU0MTE3NC8yNjE0NDI4MjUtMzRkM2U2NWMtZTAwOS00YWZlLWI3YmEtOWZlMTk3YjA2OTg4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFJV05KWUFYNENTVkVINTNBJTJGMjAyMzEyMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjMxMjE5VDE4MjgyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU4ZTIyZGMyNzc2MjJjNzdlOGM1NDNmMDE3NTU1NzMwODU1YjQyY2I0YzljMGI3ODVmOWVmZWNmNTFjMTlmNWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.UNZDUKt2LKpETPnrDcVZfElSMzmiwidQBLrJ6mn3yMk)