use cached initial p