optimised SVM