add pointcut expression support and refactor access package