      */
 
     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
+        self.config = config
         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.s_options_selector + sizeBtn.height)
                    self.options.alpha          = 1
                })

                for i in 0..<dataset.count {
                    let option = UIImageView(frame: CGRect(x: (CGFloat(i + 1) * spacing) + (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.spacing
                        option.alpha = 1
                        option.frame.size = CGSize(width: self.size, height: self.size)
                        option.center = CGPoint(x: (CGFloat(i + 1) * self.spacing) + (self.size * CGFloat(i)) + self.size / 2, y: self.spacing + self.size / 2)
                    }, completion: nil)
                }



                self.superview?.addSubview(bgClear)

                let sizeBtn = CGSize(width: ((CGFloat(dataset.count + 1) * config.spacing) + (config.size * CGFloat(dataset.count))), height: config.size + (2 * config.spacing))
                options = UIView(frame: CGRect(x: origin.x, y: origin.y - (sizeBtn.height), width: sizeBtn.width, height: sizeBtn.height))
                options.layer.cornerRadius  = options.frame.height/2
                options.backgroundColor     = .white
