composer hook 3