added svm learning functionality