add hooks