add $extend hook