https://medium.com/@oliwills8373/discovering-the-wonders-of-python-a-beginners-guide-to-writing-code-874a2ac9e58a