doesnt PCA already do that?