save subclassing for last