https://levelup.gitconnected.com/write-python-functions-like-this-or-ill-reject-your-pull-request-d8aa501ab1c4