     private func insertCardToTop() {
         let previousCard = createCardAtIndex(UInt(currentCardNumber), frame: frameForTopCard())
         previousCard.alpha = alphaValueOpaque
-        moveOtherCardsWithFinishPercent(0)
-        if visibleCards.isEmpty {
-            addSubview(previousCard)
-        }
+        addSubview(previousCard)
         visibleCards.insert(previousCard, atIndex: 0)
         moveOtherCardsWithFinishPercent(0)
     }

    
    private func layoutCard(card: DraggableCardView, AtIndex index: UInt) {
        if index == 0 {
            card.frame = frameForTopCard()
            card.layer.transform = CATransform3DIdentity
        } else {
            let cardParameters = backgroundCardParametersForFrame(frameForCardAtIndex(UInt(index)))
            

            })
            countOfCards += 1
        }
        
        assert(currentItemsCount + indexSet.count == countOfCards, "Issue appeared")
    }
    
    // MARK: Cards managing - Deletion
    
    private func proceedDeletion(range: Range<Int>) {
        let deletionIndexes = [Int](range)
        deletionIndexes.sort { $0 > $1 }.forEach { deletionIndex in
            let visibleCardIndex = deletionIndex - currentCardNumber
            let card = visibleCards[visibleCardIndex]
            card.delegate = nil
            card.swipe(.Right)
            visibleCards.removeAtIndex(visibleCardIndex)
        }
    }
    
    public func removeCardAtIndexRange(indexRange: Range<Int>, animated: Bool) {
        animating = true
        let currentItemsCount = countOfCards
        let visibleIndexes = [Int](indexRange).filter { $0 >= currentCardNumber && $0 < currentCardNumber + countOfVisibleCards }
        if !visibleIndexes.isEmpty {
             proceedDeletion(visibleIndexes[0]...visibleIndexes[visibleIndexes.count - 1])
        }
        countOfCards -= indexRange.count
        loadMissingCards(calculateMissingCardsCount())
        layoutDeck()
        for (index, card) in visibleCards.enumerate() {
            card.alpha = shouldTransparentizeNextCard && index != 0 ? alphaValueSemiTransparent : alphaValueOpaque
            card.userInteractionEnabled = index == 0
        }
        animating = false
        assert(currentItemsCount - indexRange.count == countOfCards, "Issue appeared")
    }
    
}
