generator now a sub module