 			thumbnail.clipsToBounds = true
 			cell.contentView.addSubview(thumbnail)
 			
-			typeIcon = UIImageView(frame: CGRectMake(3, cell.contentView.frame.size.height - 3 - 20, 20, 20))
+			typeIcon = UIImageView(frame: CGRectMake(iconOffset, cell.contentView.frame.size.height - iconOffset - typeIconSize.height, typeIconSize.width, typeIconSize.height))
 			typeIcon.contentMode = .ScaleAspectFill
 			typeIcon.clipsToBounds = true
 			cell.contentView.addSubview(typeIcon)
 			
-			checkMarkView = CheckMarkView(frame: CGRectMake(cell.contentView.frame.size.width - 3 - 28, 3, 28, 28))
+			checkMarkView = CheckMarkView(frame: CGRectMake(cell.contentView.frame.size.width - iconOffset - checkMarkSize.width, iconOffset, checkMarkSize.width, checkMarkSize.height))
 			checkMarkView.backgroundColor = UIColor.clearColor()
 			checkMarkView.style = CheckMarkView.CheckMarkStyle.Nothing
 			cell.contentView.addSubview(checkMarkView)

	// MARK: UICollectionViewDelegateFlowLayout
	
	func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
		let itemCount: CGFloat = UIDevice.currentDevice().userInterfaceIdiom == .Phone ? 4 : 8
		let a = (self.view.frame.size.width - itemCount * 1 - 2 * 2) / itemCount
		return CGSizeMake(a, a)
	}
	
	func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets {
		return UIEdgeInsetsMake(2, 2, 2, 2)
	}
	
	func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat {

			cachingImageManager.startCachingImagesForAssets(self.assets, targetSize: PHImageManagerMaximumSize, contentMode: PHImageContentMode.AspectFill, options: nil)
		}
	}
	
	// MARK: - Initialization
	
	override init(collectionViewLayout layout: UICollectionViewLayout) {
		super.init(collectionViewLayout: layout)
