https://pythonprogramminghelp.com/dynamicusing-python/