Every bunch crossing at the LHC has not only one proton-proton interaction but several. These additional proton-proton interactions are called pileup interactions. With the increasing luminosity of the LHC also the number of pileup interactions per bunch crossing increased in the past years and it will reach up to 140 pileup interaction during high-luminosity LHC operation. Removing the pileup from an event is essential because pileup does not only affect the jet energy but also other event observables as for example the missing transverse energy, the jet substructure, jet counting, and the lepton isolation. To account for these pileup effects various techniques like charged hadron subtraction, pileup jet ID, delta-beta correction for lepton isolation are used within CMS, but meanwhile, a new technique, PUPPI, has been introduced and extensively tested on 2016 data. This talk will explain the novel algorithm behind PUPPI and show the validation of the key variables inside PUPPI. The latest improvements, which make this pileup mitigation technique the default algorithm for Run 3 and beyond will be presented.