initial generator structure