https://functions.pythonprogramminghelp.com/3-tips-to-simulation/