APE6 preliminary review

I've updated this to no longer make it an abstract base class