separate entity and generated structure logic.

Also, performance enhancements
separate structures from entities in the menu.

Also, discriminate options by dimension