next generation method added