gen add structure generation