next generation implementation