generation architecture