updated and generator