add a pca method