made the algorithm take user similarity into account