Completing SVM from Scratch