add nstates, length, size for HMM and fix notation mistake
Add user-controlable constructors for HMM