add hooks and tests