setup hooks