hm1: most of part 3