generic modify
concrete modify