https://medium.com/@TechiesSpot/python-for-beginners-a-friendly-introduction-to-basic-concepts-79584014ab43