General Bayesian non-parametric hidden Markov model