update final p