removed n18 and async generating