 struct DragState {
     let listViewModel:SwiftBoardListViewModel
     let itemViewModel:SwiftBoardItemViewModel
-    let itemIndexInList: Int
-    
     let cell: SwiftBoardCell
+    
+    func indexOfItemInList() -> Int {
+        return listViewModel.indexOfItem(itemViewModel)!
+    }
 }
 
 struct DropState {

            let collectionView = gestureInfo.collectionView
            let layout = collectionView.collectionViewLayout as DroppableCollectionViewLayout
            let dropCell = gestureInfo.cell
            let dragIndex = currentDragState!.itemIndexInList
            let dropIndex = gestureInfo.itemIndexInList
            let location = gestureInfo.locationInCollectionView
            

            
            currentDragState = DragState(listViewModel: gestureInfo.listViewModel,
                itemViewModel: gestureInfo.itemViewModel,
                cell: gestureInfo.cell)
            currentDragState!.itemViewModel.dragging = true
            
