more work on hmm