implement pon pt.2