http://www.pythonreader.com/2022/12/pybites-building-a500line-api.html