change _this to self