empty_size is set on subclasses ?