https://python.plainenglish.io/simplify-your-python-projects-with-decorators-junior-vs-senior-vs-expert-1998669fec2f