i have included doc-strings for each function in the code, which can help in understanding the code.
For more details regarding how to run the code, please refer to the README in the code repository.
Feel free to drop an email, if you find any mistakes or have suggestions regarding my approach :).