https://pygobject.pythonprogramminghelp.com/3-tactics-to-probability-spaces/