code cleanup: this -> self