self referential structures