refactoring of ppm update