before changing id.idx component to store explicit lengths to allow for unsorted ids