Easy to use function AOP