advanced result
introduce hookback