https://mysteryweevil.medium.com/mastering-hierarchical-inheritance-in-python-a-practical-guide-aef297317916