ASCOT: solving the kinetic equation of minority particle species in tokamak plasmas. A comprehensive description of methods, suitable for solving the kinetic equation for fast ions and impurity species in tokamak plasmas using a Monte Carlo approach, is presented. The described methods include Hamiltonian orbit-following in particle and guiding center phase space, test particle or guiding center solution of the kinetic equation applying stochastic differential equations in the presence of Coulomb collisions, neoclassical tearing modes and Alfvén eigenmodes as electromagnetic perturbations relevant to fast ions, together with plasma flow and atomic reactions relevant to impurity studies. Applying the methods, a complete reimplementation of the well-established minority species code ASCOT is carried out as a response both to the increase in computing power during the last twenty years and to the weakly structured growth of the code, which has made implementation of additional models impractical. Also, a benchmark between the previous code and the reimplementation is accomplished, showing good agreement between the codes