https://python.plainenglish.io/best-practices-for-writing-clean-and-readable-python-code-caaff2535e26