https://validation.pythonprogramminghelp.com/how-to-without-xotcl/