 				return nil
 			}
 			
-			return IndexPath(row: index, section: 0)
+			return IndexPath(row: index, section: section)
 		})
 		
 		self.moves = differences.compactMap({ difference -> (IndexPath, IndexPath)? in

				return nil
			}
			
			return (IndexPath(row: source, section: 0), IndexPath(row: destination, section: 0))
		})
	}
	

	case deletion(index: Int)
	case move(source: Int, destination: Int)
	
	public static func calculate<Element: Equatable>(from old: [Element], to new: [Element]) -> [Difference] {
		let similarities = new
			.filter({ old.contains($0) })
			.map({ Difference.none(index: new.index(of: $0)!) })
