add Hidden markov model, forward, backward algo etc