hook with instance