training implementation