https://mixrolikus.cc/video/aBryfGtnCMA/python-programming-the-accumulator-pattern