subclass friendly