Corrected normalization and implemented svd dimensionality reduction need to do partitioning and searching