Updated generation proces