change HitDiff: it's better to use a record
do not build a sub-tree