implement approximateSize