changed PCA to truncated SVD