         selectedItem = -1
         information.activateInfo(true)
         UIView.animate(withDuration: 0.3) { () -> Void in
-            let sizeBtn = CGSize(width: ((CGFloat(self.dataset.count + 1) * self.spacing) + (self.size * CGFloat(self.dataset.count))), height: self.size + (2 * self.spacing))
-            self.options.frame = CGRect(x: self.origin.x, y: self.origin.y - (self.s_options_selector + sizeBtn.height), width: sizeBtn.width, height: sizeBtn.height)
+            let sizeBtn = CGSize(width: ((CGFloat(self.dataset.count + 1) * self.config.spacing) + (self.config.size * CGFloat(self.dataset.count))), height: self.config.size + (2 * self.config.spacing))
+            self.options.frame = CGRect(x: self.origin.x, y: self.origin.y - (self.config.s_options_selector + sizeBtn.height), width: sizeBtn.width, height: sizeBtn.height)
             self.options.layer.cornerRadius = sizeBtn.height / 2
             for (idx, view) in self.options.subviews.enumerated() {
-                view.frame = CGRect(x: (CGFloat(idx + 1) * self.spacing) + (self.size * CGFloat(idx)), y: self.spacing, width: self.size, height: self.size)
+                view.frame = CGRect(x: (CGFloat(idx + 1) * self.config.spacing) + (self.config.size * CGFloat(idx)), y: self.config.spacing, width: self.config.size, height: self.config.size)
             }
         }
     }

     */

    public init(frame: CGRect, config: JOEmojiableConfig = .default) {
        self.spacing = config.spacing
        self.size = config.size
        self.minSize = config.minSize
        self.maxSize = config.maxSize
        self.s_options_selector = config.s_options_selector
        super.init(frame: frame)
        
        longTap = UILongPressGestureRecognizer(target: self, action: #selector(JOEmojiableBtn.longTapEvent))
        singleTap = UITapGestureRecognizer(target: self, action: #selector(JOEmojiableBtn.singleTapEvent))
        addGestureRecognizer(longTap)
        addGestureRecognizer(singleTap)
        layer.masksToBounds = false

                bgClear.addSubview(options)

                UIView.animate(withDuration: 0.2, animations: { () -> Void in
                    self.options.frame.origin.y = self.origin.y - (self.config.s_options_selector + sizeBtn.height)
                    self.options.alpha = 1
                })

                for i in 0..<dataset.count {
                    let option = UIImageView(frame: CGRect(x: (CGFloat(i + 1) * config.spacing) + (config.size * CGFloat(i)), y: sizeBtn.height * 1.2, width: 10, height: 10))
                    option.image = UIImage(named: dataset[i].image)
                    option.alpha = 0.6
                    options.addSubview(option)
                    UIView.animate(withDuration: 0.2, delay: 0.05 * Double(i), options: .curveEaseInOut, animations: { () -> Void in
                        option.frame.origin.y = self.config.spacing
                        option.alpha = 1
                        option.frame.size = CGSize(width: self.config.size, height: self.config.size)
                        option.center = CGPoint(x: (CGFloat(i + 1) * self.config.spacing) + (self.config.size * CGFloat(i)) + self.config.size / 2, y: self.config.spacing + self.config.size / 2)
                    }, completion: nil)
                }

