add more cases for 'self' usage