generalize modification