add aop support