aop demo using hooker