   /// Circle view with icon for sliding images. You can override it with your custom view.
   open var sliderCircle: UIView
 
+  /// Enum that describes which direction the slider will slide from.
+  open var slideDirection: SlideDirection
+    
   /// Generic initializer with views
   ///
   /// - Parameters:
   ///   - frame: Frame size
   ///   - firstView: First view - should have size equal to frame and second view
   ///   - secondView: Second view - should have size equal to frame and second view
-  public init(frame: CGRect, firstView: UIView, secondView: UIView) {
+  public init(frame: CGRect, firstView: UIView, secondView: UIView, sliderImage: UIImage? = nil, slideDirection: SlideDirection? = nil) {
     self.firstView = firstView
     self.secondView = secondView
-    sliderCircle = SlidableImage.setupSliderCircle()
+    self.sliderCircle = SlidableImage.setupSliderCircle(sliderImage: sliderImage)
+    self.slideDirection = slideDirection ?? .right
     super.init(frame: frame)
 
     initializeViews()

  ///
  /// - Parameter maskLocation: Position of slider
  open func updateMask(location maskLocation: CGFloat) {
    let maskRectPath = UIBezierPath(rect: CGRect(x: bounds.minX,
                                                 y: bounds.minY,
                                                 width: maskLocation,
                                                 height: bounds.height))
    let mask = CAShapeLayer()
    mask.path = maskRectPath.cgPath
    secondView.layer.mask = mask

    sliderCircle.center.x = maskLocation
  }


  ///   - frame: Frame size
  ///   - firstImage: First image for sliding
  ///   - secondImage: Second image for sliding
  convenience public init(frame: CGRect, firstImage: UIImage, secondImage: UIImage, sliderImage: UIImage? = nil, slideDirection: SlideDirection? = nil) {
    let firstView = SlidableImage.setup(image: firstImage, frame: frame)
    let secondView = SlidableImage.setup(image: secondImage, frame: frame)
    
    self.init(frame: frame, firstView: firstView, secondView: secondView, sliderImage: sliderImage, slideDirection: slideDirection)
  }

  required public init?(coder aDecoder: NSCoder) {
