added hidden markov