add hmm learning