added support vector machine code, works fairly well