updated generation