add user based and item based knn method.