Structured the generators better