https://medium.com/@jaberi.mohamedhabib/mastering-advanced-python-functions-a-comprehensive-guide-0081c573961f