add training interface