so if you define self, why not use it everywhere?