hooks hierarchy fix