completehook