refator AOP