add hooks for callbacks