reduce use of self