slowly updating AOP code

Lot less code than before but some things are slightly more difficult
actually.