https://cpython.pythonprogramminghelp.com/how-not-to-become-a-risk-model/