https://medium.com/@thomas.lede.21/essential-python-concepts-a-guide-to-fundamental-knowledge-7a0ced7ebca2