avoid include synthetic names such as self