Add simple aop variant. Close #6