https://medium.com/@sairaj10adhav/best-practices-for-writing-clean-and-maintainable-code-0e6fb61d1273