         refreshView.pullToRefresh(refreshView, stateDidChange: state, direction: direction)
     }
 
-    func progressAnimating(_ process: CGFloat) {
+    func processAnimatingAndState(_ process: CGFloat) {
+        state = process < 1 ? .pulling : .readyToRelease
+
         guard let refreshView = refreshView else { return }
         refreshView.pullToRefresh(refreshView, progressDidChange: process, direction: direction)
     }

                        }
                    }

                    state = process < 1 ? .pulling : .readyToRelease
                    progressAnimating(process)
                }
            }
        case .up:

        guard let refreshView = self.refreshView else {
            return
        }

        refreshView.pullToRefreshAnimationDidEnd(refreshView, direction: direction)

        let updateClosure = {
