refactoring, property names, abstract aspect class