handle subclassing better