better HMM definition
hidding HMM definition class