fix hook and cache