this->self switch