added hmm-smoothing