             let aFrom = sectionMap[from._section] ?? -1
             if to._section == aFrom {
                 if itemShifts[to._section] == nil {
-                    itemShifts[to._section] = ShiftSet(count:  self.numberOfItems(in: to._section), move: from._item, to: to._item)
+                    itemShifts[to._section] = ShiftSet(count:  countIn(section: to._section), move: from._item, to: to._item)
                 }
                 else {
                     itemShifts[to._section]?.move(from._item, to: to._item)

            open.insert(value)
        }
        
        mutating func populateMap(count: Int) -> [Int:Int] {
            
            var cursor: Int = 0
            var adjust : Int = 0
            
            for idx in 0..<max(storage.count, count) {
                if _map[idx] != nil {
                    continue

        }
        for ip in _updateContext.insertedItems {
            if itemShifts[ip._section] == nil {
                itemShifts[ip._section] = ShiftSet(count: countIn(section: ip._section), insert: ip._item)
            }
            else {
                itemShifts[ip._section]?.insert(at: ip._item)
