update generation