support extension hook