     
     func animateForward() {
         guard let playback = core?.activePlayback,
-            playback.position + 10 < playback.duration else { return }
+            playback.position + 10 < playback.duration,
+            let view = core?.view else { return }
+        animate(rightBubbleView, parentView: view, widthConstraint: rightBubbleWidth, heightConstraint: rightBubbleHeight)
         animate(fowardLabel)
         animate(fowardIcon1, delay: 0)
         animate(fowardIcon2, delay: 0.2)
         animate(fowardIcon3, delay: 0.4)
+    }
+    
+    private func animate(_ bubbleView: UIView, parentView: UIView, widthConstraint: NSLayoutConstraint, heightConstraint: NSLayoutConstraint) {
+        core?.view.bringSubview(toFront: bubbleView)
+        
+        widthConstraint.constant = parentView.frame.width
+        heightConstraint.constant = parentView.frame.height
+        
+        UIView.animate(withDuration: 0.4, animations: {
+            bubbleView.alpha = 1.0
+            bubbleView.addRoundedBorder(with: heightConstraint.constant / 2)
+            self.core?.view.layoutSubviews()
+        }, completion: { _ in
+            UIView.animate(withDuration: 0.2, delay: 0.3, animations: {
+                bubbleView.alpha = 0.0
+                self.core?.view.layoutSubviews()
+            }, completion: { _ in
+                heightConstraint.constant = 0
+                widthConstraint.constant = 0
+                self.core?.view.layoutSubviews()
+            })
+        })
     }
     
     private func animate(_ label: UILabel) {

    private var fowardIcon2 = UIImageView(image: UIImage.fromName("play", for: PlayButton.self))
    private var fowardIcon3 = UIImageView(image: UIImage.fromName("play", for: PlayButton.self))
    
    init(_ core: Core?) {
        self.core = core
        setup(core)

    private func setup(_ core: Core?) {
        guard let view = core?.view else { return }
        
        setupBubble(leftBubbleView, within: view, heightConstraint: &leftBubbleHeight, widthConstraint: &leftBubbleWidth, position: .leading)
        setupBubble(rightBubbleView, within: view, heightConstraint: &rightBubbleHeight, widthConstraint: &rightBubbleWidth, position: .trailing)
        
        setupLabel(view, label: fowardLabel, position: 1.5)
        setupLabel(view, label: backLabel, position: 0.5)
        
