correcting some problems with self-reference