https://levelup.gitconnected.com/built-in-decorators-in-python-an-overview-of-the-commonly-used-decorators-provided-by-the-python-4e691415449f