add training code
misc