     cell.loadData(collectionData[indexPath.row])
     cell.whenTapped(self, action: #selector(ImagesCollectionView.cellTapped(_:)))
     cell.radiused(radius)
+    cell.style = style
     cell.tag = indexPath.row
+    cell.checkedIcon = checkedIcon
     cell.layoutIfNeeded()
     if bordered {
       cell.bordered(1, color: UIColor.lightGrayColor().colorWithAlphaComponent(0.5).CGColor)
     }
+    if currentIndex == indexPath.row && currentBordered {
+      cell.bordered(5, color: UIColor.fromHex("FFCC00").colorWithAlphaComponent(0.8).CGColor)
+    }
     return cell
   }
 
   public func cellTapped(sender: UIGestureRecognizer) {
-    let photo = collectionData[(sender.view?.tag)!]
+    indexTapped((sender.view?.tag)!)
+  }
+
+  public func indexTapped(index: Int) {
+    let photo = collectionData[index]
+    if photo.image != nil {
+      currentIndex = index
+    }
     switch checkable {
     case .Single:
       collectionData.forEach({ $0.checked = false })
-      collectionData[(sender.view?.tag)!].checked = true
-      collectionView.reloadData()
+      photo.checked = true
     case .Multiple:
       photo.checked = !photo.checked
-      collectionView.reloadData()
     default:
       break;
     }
+    collectionView.reloadData()
     didChecked(collectionData, photo)
   }
 

    case Edit
  }

  public var mode: Mode = .Show
  public var checkable: Checkable = .None { didSet { } }
  public var bordered: Bool = true
  public var radius: CGFloat = 0
  public var didChecked = {(items: [Photo], checked: Photo) in }

  public init(checkable: Checkable, bordered: Bool = true, radius: CGFloat = 0, sectionInset: UIEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10)) {
    self.checkable = checkable

      }
    }

//    var checkedIcon: UIImage!
    public var checkedImage = UIImageView()
    public var photo = UIImageView()

