We propose a modular solver for training Support Vector Machines(SVMs) in this paper. Based on the decomposition method(DM), which is the state-of-the-art way for training SVMs with nonlinear kernels, the new solver contains several modules, such as data representation, kernel function evaluation, problem construction, working set selection, sub problem solution, cache maintenance, etc.. The working set selection module contains two sub-modules: new indices selection and previous indices inheritance. Several popular working set selection rules are implemented. We also provide interface in this module. Users who are familiar with DM can add their new working set selection strategies. In the sub problem solution module, we design a Quadratic Programming(QP) solver interface. Any package that solves QP can be plugged in our framework. In particular, based on the structure of quadratic sub problem in SVMs, we develop a sub problem solution, which skillfully combines the projected gradient method and interior point method together. Numerical experiments on extensive data sets validate the correctness and efficiency of the proposed solver.