refactoring new generation variable