add kernel functions for SVM