replaced all `self`