hooks and log