https://scipy.pythonprogramminghelp.com/what-i-learned-from-sympl/