added linear SVM