with correct PCA implementation