generate training sets