use aop when saving results