Annotation base AOP. Close #9