https://pythonassignment.pythonprogramminghelp.com/5-most-effective-tactics-to-inverse-functions/