     
     func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
         
+        if( currentSkinName == nil) {
+            currentSkinName = viewModel[indexPath.row].name
+        } else {
+            nextSkinName = viewModel[indexPath.row].name
+        }
     }
     
     func collectionView(_ collectionView: UICollectionView, didEndDisplaying cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
         
+        if (viewModel[indexPath.row].name == currentSkinName) {
+            currentSkinName = nextSkinName
+        }
     }
 }

    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        
        currentSkinName = nil
    }
}


        if let skinCell = cell as? SkinCell {
            
            let model = viewModel[indexPath.row]
            let imgUrl = vertSizeClass == .compact ? model.splashUrl : model.portraitUrl
            
            skinCell.skinImage.af_setImage(withURL: imgUrl)
        }
        
        return cell
