base class needs to be abstract otherwise it counts as a report