Assume G is a bridgeless graph. A cycle cover of G is a collection of cycles of G such that each edge of G is contained in at least one of the cycles. The length of a cycle cover of G is the sum of the lengths of the cycles in the cover. The minimum length of a cycle cover of G is denoted by scc(G). The minimum length of a cycle cover of G consisting of k cycles is denoted by \(scc_k(G)\) . It was proved independently by Alon and Tarsi and by Bermond, Jackson, and Jaeger that \(scc(G)\le \frac{5}{3}m\) for every bridgeless graph G with m edges. This remained the best-known upper bound for scc(G) for 40 years. In this paper, we prove that if G is a bridgeless graph with m edges and \(n_2\) vertices of degree 2, then \(scc_3(G) < \frac{29}{18}m+ \frac{1}{18}n_2\) . As a consequence, we show that \(scc_3(G) \le \frac{5}{3} m - \frac{1}{42} \log _2m\) . The upper bound \( scc(G) < \frac{29}{18}m \approx 1.6111 m\) for bridgeless graphs G of minimum degree at least 3 improves the previous known upper bound 1.6258m for such graphs. A key lemma used in the proof confirms Fan’s conjecture that if C is a circuit of G and G/C admits a nowhere zero 4-flow, then G admits a 4-flow f such that \(E(G)-E(C)\subseteq \text {supp} (f)\) and \(|\text {supp}(f)\cap E(C)|>\frac{3}{4}|E(C)|\) .