implement pon pt.3