refactor HM respondent, improve logging