trying to figure out subclassing