updated for UIButton/UICollectionView