added main generator