abstract modified