for hash trainning