making pca. base class for projections added
adding old PCA to the commit