PCA caching logic added to make it incremental