implemented training