Add smart hook