      by calling setGallery(forLayout layout: FlowLayouts,minLineSpacing:CGFloat,itemSize:CGSize,minScaleFactor scaleFactor:CGFloat)
      for both layouts and
      */
-    public func setGallery(withStyle style:OrientationState, minLineSpacing:CGFloat,itemSize:CGSize,minScaleFactor scaleFactor:CGFloat){
+    public func setGallery(withStyle style:GalleryFlowStyle, minLineSpacing:CGFloat,itemSize:CGSize,minScaleFactor scaleFactor:CGFloat){
         
         switch style {
         case .vertical:

    var itemSize = CGSize(width: 200, height: 200)
    var minimumScaleFactor = 0.5
    
    var orientation:OrientationState = .autoDynamic
    var orintationSupport = false
    
    open var shouldScrollInfinite = true   //  can be changed based on requared behaviour

     */
    public func changeOrientation(){
        guard Gallery.sharedInstance.orintationSupport else {return}
    
        if self.collectionViewLayout.isKind(of: VerticalFlowLayout.self) && self.bounds.size.height > self.bounds.size.width {
            UIView.animate(withDuration: 0.2) { () -> Void in
                self.collectionViewLayout.invalidateLayout()
