slightly better get external P