 /// ✨ Twinkle, a Swift and easy way to make any UIView twinkle.
 public class Twinkle {
     
-    
     /// Casts a spell on the provided view allowing it to twinkle.
     ///
-    /// - Parameter view: UIView that will twinkle
-    public class func twinkle(_ view: UIView) {
+    /// - Parameters:
+    ///   - view: UIView that will twinkle
+    ///   - image: Optional twinkle image
+    ///   - color: Optional color for the default twinkle image
+    public class func twinkle(_ view: UIView, image: UIImage? = nil) {
         var twinkleLayers: [TwinkleLayer] = []
         
         let upperBound: UInt32 = 10

        let count: UInt = UInt(arc4random_uniform(upperBound) + lowerBound)
        
        for i in 0..<count {
            let twinkleLayer: TwinkleLayer = TwinkleLayer()
            let x: Int = Int(arc4random_uniform(UInt32(view.layer.bounds.size.width)))
            let y: Int = Int(arc4random_uniform(UInt32(view.layer.bounds.size.height)))
            twinkleLayer.position = CGPoint(x: CGFloat(x), y: CGFloat(y))

                twinkleImage = UIImage(contentsOfFile: imagePath)
            }
        }
        
        self.emitterCells?.removeAll()
        
        let emitterCells: [CAEmitterCell] = [CAEmitterCell(), CAEmitterCell()]
        for cell in emitterCells {
