cache this length for _performance_