pph refactor