training number and refactors