abstract base classes, but qt creator class view can't see them :(