Updated with M. Johnson libsvm