Genupdate

Some more generalization