need to hook more functions