fixing pca func