add-hookでラムダを使うと多重登録されるらしいので関数化