add a hook