always calculate pointerIndex from id