https://medium.com/@thomas.lede.21/mastering-python-best-practices-for-efficient-and-clean-code-4037d2a1f6ea