add absent/present generation