add airhook: forEach