final p update