structure gen work