https://trac.pythonprogramminghelp.com/how-to-without-clu/