struct generation seems to be done