https://llego.dev/posts/introduction-functions-reusable-blocks-code-python/