https://llego.dev/posts/defining-using-instance-methods-python-classes/