The clock is about to strike midnight on spring training, and yet, there are a passel of fair to good major leaguers still without a contract.

For some, like closer Greg Holland, it’s a numbers game. His required dollar numbers just don’t fit most teams budgets, particularly for a guy with his experience.

For others, it’s a matter that their production has dropped and maybe they’re just a little long in tooth, like say Melky Cabrera and Matt Holliday.

And for the rest, it’s just a shrinking market for jobs that a lot of teams have filled — at least temporarily — with younger and less expensive players.

The free agent market was, and still is, very slow this spring. It led to a lot of ill will directed at the league from players and agents decrying collusion and teams just planting their feet in resistance.

However things really are, there is no denying that there are at least 20 unsigned players who could help some teams, whether as starters, utility men or bench depth. In no particular order.

20. OF Jayson Werth

Surely not every aspiring contender in baseball has filled its allotment of reserve outfielders. The Nats didn’t qualify Jayson Werth, who in all reality doesn’t warrant the projected market value for his services of about $9.25 million. Yet, he’s still got some pop in his bat and could help a team on the rise with leadership and playoff experience. Werth missed a good chunk of games with a broken foot, limiting him to action in 70 games. While his batting average dipped to .226, he still drew enough walks to log an on base percentage of .322. Power-wise, Werth smacked 10 doubles, a triple and 10 homers, driving in 29 in 252 at bats. Historically, Werth has a .251 batting average in the 63 playoff games, along with 30 extra base hits, six stolen bases and 30 RBI. In the 2017 NLDS against Chicago, he had three hits and four walks in 22 plate appearances.

(AP Photo/Alex Brandon)

19. SP R.A. Dickey

Knuckleballer Dickey is like the Energizer Bunny, he just keeps going and going. However, the Atlanta Braves are trying out another old dog, Scott Kazmir, as a lower rotation starter, leaving Dickey without a contract (the Braves didn’t pick up his $8 million option). So, what now for the durable 43-year-old inning eater? Our guess is he will continue to work out and wait for inevitable roster spots to open later this season. He put in another 31 starts for a terrible Braves team last year and posted his usual good, but not great, numbers. He went 10-10 (sixth straight year with 10 or more victories), with a 4.26 ERA and 136 strikeouts in 190 innings pitched. He was pretty good right to the end of the season too, handcuffing Washington on four hits and two earned runs over eight innings, with four strikeouts as Atlanta beat the Nationals 3-2 on Sept. 21.

(AP Photo/John Amis)

18. DH Matt Holliday

With Giancarlo Stanton acquired to take over designated hitting duties in New York, the writing was easily on the wall for veteran Matt Holliday. At 38 we don’t think the seven-time All-Star and four-time Silver Slugger award recipient is washed up, but he is without a contract. For now. His 2017 season was far from his most productive, but neither was it all that bad. In 105 games, he hit .231, with 37 extra base hits (19 HR) and 64 RBI. He isn’t that far removed from the .272, 20 HR and 90 RBI season he had with St. Louis in 2014 and in the right situation — say platooned with a left-handed DH — could still be very effective. And like Jayson Werth above, Holliday has oodles of playoff experience — and a NLCS MVP award — to help a contender, or wannabe out. In 73 playoff games, Holliday owns a .235 average with 13 home runs and 37 RBI.

(AP Photo/Kathy Willens)

17. RP Joe Blanton

In 2016, Joe Blanton was a surprise for the Los Angeles Dodgers, seeing action in 75 games and sporting a 7-2 record, 2.48 ERA and 80 strikeouts in 80 innings pitched. Those were solid numbers for the then 35-year-old former starter. A move to D.C. wasn’t the tonic in 2017, though, as the former first round pick saw his ERA more than double to 5.68 in 51 appearances. Not a lot went right, yet we think he might have something to offer a club needing a veteran set-up man. The biggest problem with Blanton’s 2017 season wasn’t the finish, it was the start. His ERA at the end of July was an unruly 7.31. But in his final 18 appearances through August and September, he whittled that number down by putting in 13 scoreless games, including a win and four holds. His late season stats should entice prospective suitors.

(AP Photo/Derik Hamilton)

16. INF Yunel Escobar

Offensively, veteran 3B/SS Yunel Escobar had a good 2017 season in a limited number of games for the Los Angeles Angels. He hit .274 in 89 contests, with 28 extra base hits and 31 RBI. On the defensive side, though, it was near his worst. His fielding percentage, all at third base, was one tick better than 2016, to .938 from .937. Which pretty much sunk his chances of a return to the Halos, who signed free agent Zack Cozart to man the hot corner. If he can get his defensive house in order, Escobar would be pretty good bench depth. He is also murder on left-handed pitchers, as he hit .343 with a .832 OPS in 110 plate appearances last year against southpaws, compared to .246/.689 against righties. He made $7 million last season and could probably be had for a third of that on a one-year deal.

(AP Photo/Mark J. Terrill)

15. SP Scott Feldman

It was a tale of two seasons for veteran righthander Scott Feldman in 2017. In his first 17 starts for Cincinnati, one of which was a complete game shutout against San Francisco, Feldman had a 7-5 record, with a 3.78 ERA and 80 strikeouts in 97.2 innings pitched. Then, his knee started giving him fits and he tried valiantly to pitch through pain, to no avail. He gave up 18 earned runs over just 13.2 innings in four starts, two of them losses, moving the needle on his record to a year-ending 7-7 and ERA to 4.77. And his year did end abruptly after his final start on Aug. 17 against the Cubs, as his injured knee would require surgery. If his knee is good enough to go, he can still be starting material, or, as he did in 2016 with Toronto and Houston, be an effective long reliever/spot starter.

(AP Photo/Morry Gash)

14. OF Jose Bautista

We are going way out on a limb here to say that Joey Bats still has something to offer other than monumental bat flips. He put in a full season on a big one-year contract with Toronto and at least earned part of it. While his batting average sunk to a career low. 203 and his strikeouts ballooned to an egregious 170, he still walked 84 times to log a .308 OBP. He also hit 27 doubles, 23 homers and drove in 65 runs. Defensively, he’s lost some range, but he still had 10 assists last season from right field. All in all, not a great season, but by no means is he a lost cause going forward. Ideally, he could be platooned in right field and could hit against righties, who he had a better batting average against as well as 20 of his 23 dingers. The only thing precluding Bautista from signing is probably his own inflated sense of worth, which he will have to come well down on to get a contract.

(AP Photo/Michael Dwyer)

13. RP Drew Storen

Since his salad days with Washington in the first half of this decade, Drew Storen has been on a bit of a rollercoaster. The former first round pick was solid in six seasons with the Nats, registering a 3.02 ERA, 95 saves and 321 strikeouts in 334 total innings pitched. A trade to Toronto and the AL in 2016 didn’t go that well and after 38 games he was flipped to Seattle at the trade deadline. His slash line with the Blue Jays was the worst of his career, including a 6.21 ERA, 1-3 record, three saves and lofty 1.590 WHIP. With the M’s things settled down somewhat in 19 appearances, as Storen lowered his ERA to 3.44 and his WHIP to 0.873. His numbers in 2017 with Cincinnati closely mirrored similar stats from his 2013 season in D.C. In 58 games, he had a 4-2 record, a save, 1.463 WHIP and 48 Ks in 54.2 innings. His bad outings increased as the season wore on, so a peel back to maybe 40-45 relief appearances would help.

(AP Photo/John Minchillo)

12. SS J.J. Hardy

There are actually very few unsigned shortstops left and for our money, Hardy is the best of the lot. With Manny Machado moving over to short to make room for Tim Beckham at third, Hardy became entirely expendable. The O’s declined the 35-year-old’s option for 2018, which was easy considering he missed over half the season with a broken wrist and then had his job usurped by Beckham. If Hardy can stay healthy, the two-time Gold Glover and All-Star can be more the 2016 version of himself than the 2017 model. In 2016, he hit .269, with 38 extra base hits and 48 RBI in 115 games. In 73 games last year, Hardy scuffled to .217, with 18 extra base hits and 24 RBI. On the defensive side, Hardy was still very reliable at his position, posting a .983 fielding percentage, which just happens to be his lifetime mark.

(AP Photo/Chris O’Meara)

11. SP Matt Garza

Baseball hasn’t been all that kind to veteran righthander Matt Garza since he signed a monster contract with Milwaukee in 2014. Once a very reliable starter with Tampa Bay and the Chicago Cubs, he’s been strictly bottom of the rotation filler with the Brew Crew and beset nagging little injuries and performance problems. He still started 93 games for Milwaukee and finished with a 26-39 record, 4.65 ERA and 379 strikeouts in 528.1 innings pitched. Last year, he was strictly average and later moved to the bullpen. In his best outing, he limited Baltimore to five hits and no runs in 6.1 innings in a 4-0 win in early July. That contrasted sharply with a short 3.1 inning stint in a 11-4 loss to Minnesota just over a month later when he surrendered eight hits (four homers) and eight runs. He could still be OK as a bottom of the rotation stop gap, for the right price.

(AP Photo/Jeff Chiu)

10. 2B Brandon Phillips

If his numbers from 2017 are to be believed, it’s weird that 2B Brandon Phillips hasn’t already signed somewhere on the cheap. Sure, he’s 36 and been around the big league block a few times, but he did hit .285 in 144 games between Atlanta and the Angels. Phillips also smashed 48 extra base hits, drove in 60 runs and stole 11 bases. In the field, he didn’t hurt either team, making just seven total errors for a .984 fielding percentage, which is just .004 below his career mark. In terms of his career, Phillips is a much better hitter in the National League with a .280 average than in the AL, where he holds just a .215 average. As far as playoff experience and leadership go, Phillips has played just nine post-season games, but does own a .325 average, with two home runs and eight RBI.

(AP Photo/Ben Margot)

9. RP Huston Street

Speculation has it that Street might retire, or maybe not, if a contender wants to pay for his services. Plagued by injuries the last two seasons, the former AL Rookie of the Year and two-time All-Star is a free agent and is biding his time. In his lengthy career, the finesse closer has logged 324 saves, a 2.95 ERA and 665 strikeouts in 680 games. Arm problems, however, limited to just four appearances in 2017 and 26 the year before. In his last full season with the Halos in 2015, Street saved 40 (the second time he had done so) in 62 relief appearances. He’s stated this off-season that he is going to weigh his options and that he won’t sign a contract with a losing team just to make money, preferring instead to join a club like Houston later on if they need the help. Stay tuned.

(AP Photo/Chris Carlson, File)

8. C Carlos Ruiz

The free agent catching cadre is long on years of service and short on those who can start regularly. A team looking for a good defensive catcher to play second banana, then, to their starter ought to give Ruiz’s agent a call. He played 53 games for Seattle last season and was right around his career numbers, throwing out seven of 30 prospective base stealers for a 23 percent average (27 percent lifetime) and making one error behind the plate to record a .997 fielding percentage (.994 lifetime). In 2016, the former All-Star had the highest caught stealing rate in the majors, taking down 15 of 36 runners (42 percent). His bat, once potent enough to hit .325 with Philadelphia in 2012, has been dulled by bench duty, to the point his average sunk to .216 with 11 extra base hits and 11 RBI in those 53 contests with the M’s last year. Also, he’s won a World Series and has been good at the dish in the playoffs, hitting .255 in 53 games with 15 extra base hits and 19 RBI.

(AP Photo/Adam Hunger)

7. SP Ubaldo Jimenez

There is nothing like a change of scenery — and maybe a move back to the senior circuit — that wouldn’t help cure what ails veteran starter Jimenez. Once an All-Star and Cy Young candidate in Colorado, Jimenez has been mediocre since moving over to the AL with Cleveland in 2011. With the Rockies, he was 56-45 with a 3.66 ERA in 137 starts with eight complete games. In the last seven seasons with the Indians and O’s, Jimenez record stands at 58-72, along with a 4.90 ERA in 178 starts and one complete game. The 2017 campaign in Baltimore was particularly hideous, with the 34-year-old Dominican fashioning a 6-11 record, career worst 6.81 ERA and lofty WHIP of 1.591. His 2017 season was a bit Jekyll and Hyde, considering he dominated the Yankees in a mid-September victory (5.0 IP, 3H, 1ER, 10 K), only to cough up eight hits and six earned runs in his last start of the season against Tampa, a 8-3 loss. Rumor has it that the Mets may be interested.

(AP Photo/Patrick Semansky)

6. INF Stephen Drew

Drew’s body of work since leaving Arizona, where he put up great offensive numbers for a second baseman, have been a mixed bag with four different clubs. After playing 773 games over seven seasons with the Diamondbacks, Drew has logged just 495 games of service since. Last year saw him appear in his fewest contests, 46, with the Washington Nationals. He hit .251 with seven doubles, a homer and 17 RBI, while taking starts at third, second and short. His last best season came in 2013 with Boston, when he hit .253 with 13 HR and 67 RBI, followed by a World Series ring with the Red Sox. Drew made $3.5 million last year and with his job status up in the air, could be had for much, much less as a bench depth infielder.

(AP Photo/Nick Wass)

5. SP John Lackey

Lackey isn’t the oldest player on this list, but he is one of its most fierce competitors. Even well into his 30s (he’s 39), Lackey still saw it fit to argue a missed called strike with an umpire late last season, resulting in an ejection and a fine from the league office. Ejection aside, the longtime starter was pretty good for the playoff bound Cubs last season, going 12-12 in 31 games with a 4.59 ERA and 149 strikeouts in 170.2 innings of work. Lifetime, Lackey owns a 188-147 mark with a 3.92 ERA and 2,294 Ks. In the experience and post-season department, Lackey has won a World Series with three different teams (Angels, Red Sox and Cubs) and is 8-6 in a collective 29 playoff games with a 3.44 ERA and 114 strikeouts in 144 innings. Lackey made $16 million on the final year of a two-year, $32 million deal in 2017.

(AP Photo/Jeff Roberson)

4. OF Melky Cabrera

For whatever reason, there has been very little in print about Melky Cabrera and just who may be interested in his as-yet-unsigned services. He may not be the prettiest to watch but Cabrera just gets the job done, year in and year out. In a season split between the Chicago White Sox and Kansas City Royals, Melky hit .285, with 30 doubles, two triples, 17 home runs and 85 RBI in 156 games. Those numbers fall right in line with his overall career numbers and having played with six different teams in both leagues he’s at minimum very versatile. Cabrera did try and negotiate a two-year deal this off-season with a couple of clubs, but found no takers. He may have to opt for a one-year contract to keep playing and we can’t see why at least one big league team wouldn’t take a chance on the 33-year-old Dominican.

(AP Photo/Matt Marton)

3. RP Greg Holland

Holland’s case at least gives some credence to the argument that MLB owners have been less-than-forthright in dealings with free agents. After leading the National League in saves, with of all teams the Colorado Rockies, Holland is still looking for a contract. After missing the 2016 season, Holland bounced back with a vengeance in Denver, going 3-6 with a 3.61 ERA and 41 saves in 61 appearances. He also had 70 strikeouts in just 57.1 innings pitched. Before that All-Star season, Holland saved 125 games in three seasons with the Kansas City Royals between 2013 and 2015. He’s still just 32 and after pitching that well in the thin air of Coors Field, any contending team closer to sea level would be crazy not to explore a contract with him. Teams like St. Louis, Arizona and even Atlanta have kicked the tires, but to this point his asking price is apparently too rich.

(AP Photo/David Zalubowski)

2. OF Seth Smith

The man with the difficult to pronounce name may not have that moniker creating tongue twisters for broadcasters any time soon. A reasonably productive outfielder with about nine and a half years of experience, Smith was cut loose by Baltimore at the conclusion of the 2017 season. After coming over from Seattle, Smith hit .258 in 111 games with the O’s, adding 19 doubles, 13 homers and 32 RBI to the cause. He played the majority of those games in right field and finished with a perfect 1.000 fielding percentage, with four assists. The native of Jackson, Mississippi could bring a team looking to go to the post-season with a smattering of playoff experience. He’s appeared in 18 career playoff games and owns a .262 batting average along with two doubles, two homers and seven RBI.

(AP Photo/Patrick Semansky)

1. INF Mark Reynolds

The Rockies, for now, have rookie Ryan McMahon penciled in as their starting first baseman, possibly backed up by veteran Ian Desmond. But, it still is strange they can turn their back on a guy like Reynolds who made just $1.5 million last year and hit .267 with 22 doubles, a triple, 30 home runs and 97 RBI. The Rockies made great strides in 2017, but appear to be taking a step backward by jettisoning at least a reliable bat in Reynolds. His glove at first wasn’t bad either, as he made just six errors on 1,286 chances for a sterling .995 fielding percentage. It is likely, though, that the 34-year-old veteran could be playing for his eighth different club in 2018. It’s not a strong market right now, but even with a modest raise on his 2017 salary, Reynolds would still be a steal.

(AP Photo/David Zalubowski)