The transfer window has now slammed shut in South Africa in what was a frenetic few weeks for clubs in the Premier Soccer League.
Unless there are free agents to be signed, these are the squads that will take the teams to the end of the season, and some of them look much improved on what they had before the New Year.
KweséESPN picks out some stats and facts from the January window.
Busy, busy ...
It has been a busy window for South African clubs, with 72 players newly-registered across the 16 teams, not including those that were promoted from the juniors. It is not quite as frenetic as January 2017 though, when there were 81 new players registered, but on that occasion panic buying at Baroka FC (15 new players), Highlands Park (10) and Free State Stars (9) accounted for almost half that number. Even serial spenders Chippa United, who cannot go through a transfer window without overhauling their squad, only signed seven players last month, a comparatively modest foray into the market for them.
Not surprisingly, bottom side Platinum Stars have been the busiest side in the transfer window, bringing in 10 new players, including Namibia international Wangu Gome, Malawi star Gerald Phiri Junior, Bafana Bafana winger Riyaad Norodien and Orlando Pirates defender Ayanda Gcaba. They will hope their foray into the market can spark a revival in the second half of the campaign.
Baroka FC were the quietest team in the transfer market, bringing in only defender Khutso Mohwatseleng, formerly with Magesi FC. Contrast that with the 15 new arrivals 12 months ago and you can see they have a much more settled squad
There are a number of top candidates -- and perhaps it is stating the obvious -- but Jeremy Brockie to Mamelodi Sundowns looks the best bit of business. They create a mountain of chances in matches but can be hit and miss in front of goal. What they are crying out for is a composed finisher, and in Brockie they have that.
Best window overall
Ajax Cape Town have done well to grab Yannick Zakri and Siyanda Zwane on loan from Sundowns, while the addition of Tendai Ndoro -- if legit -- is a masterstroke too, though it cost them a cool R2.5-million in hard cash. All three have made an immediate impact on a squad that lacked experience and quality, and they have given themselves an excellent chance of escaping the drop.
One to watch
Belgian Maxime Cosse at Free State Stars is an interesting player to keep an eye on: a fast winger who is well over six foot tall, he will bring something different to the side. He has been lured by coach Luc Eymael to add some "football intelligence" in the final third of the pitch for Stars, who remain title outsiders but still in the mix. His compatriot Andrea Fileccia came from a similar level and were it not for a series of injuries, you would think he would be at one of the so-called 'Big Three' by now.
A hands-down winner here, Ndoro's move to Ajax could yet be annulled if the Premier Soccer League have their way. Ajax are the third team Ndoro has played for this season, in contravention of FIFA rules, and that means he should not have been registered by the PSL. But he was, and the PSL's own Dispute Resolution Chamber has ruled against the league, who have now said they will basically appeal against themselves. It is one that could run all the way to the courts...
Who should have moved?
Bernard Morrison could have done with a way out of Orlando Pirates in this window and there was reported interest in the Ghanaian's services. He has not played since November and it just looks like it won't happen for him at Mayfair; a surprise given his obvious quality. Six league starts and one goal in 18 months tells its own story though.
ALL THE JANUARY WINDOW ADDITIONS
AJAX CAPE TOWN
Samuel Julies (Chippa United), Yannick Zakri (Mamelodi Sundowns, loan), Muzi Thabotha (Highlands Park), Fagrie Lakay (SuperSport United, loan), Siyanda Zwane (Mamelodi Sundowns, loan), Gerald Takwara (FC Platinum, Zimbabwe), Tendai Ndoro (Al-Faisaly, Saudi Arabia)
Camaldine Abraw (ACS Poli Timisoara, Romania), Sibusiso Mabiliso (Platinum Stars)
Khutso Mohwatseleng (Magesi FC)
Denis Weidlich (Maritzburg United), Lehlohonolo Majoro (Cape Town City), Edwin Gyimah (Helsingborgs, Sweden), Keegan Ritchie (Free agent), Thobani Mncwango (Polokwane City), Sifiso Myeni (SuperSport United, loan return), Abednego Mosiatlhaga (Stellenbosch FC, loan return)
Menzi Masuku (Chippa United), Thabo Nemukondeni (Ajax Cape Town), Lorenzo Gordinho (Kaizer Chiefs, loan)
CAPE TOWN CITY
Allan Kateregga (AFC Leopards, Kenya), Bradley Ralani (Helsingborgs, Sweden), Kwanda Mngonyama (Mamelodi Sundowns), Masoud Juma (FC Kariobangi Sharks, Kenya), Matthew Rusike (Free agent)
Bantu Mzwakali (Ajax Cape Town), Thabo Rakhale (Orlando Pirates), Farès Hachi (Mamelodi Sundowns), Nkosinathi Mthiyane (Orlando Pirates), Mxolisi Macuphu (Jomo Cosmos), Linda Mntambo (Jomo Cosmos), Maselealo Seanego (Free agent)
FREE STATE STARS
Hilaire Momi (Raja Casablanca), Maxime Cosse (Patro Eisden Maasmechelen, Belgium), Thela Ngobeni (Mamelodi Sundowns), Harris Tchilimbou (AC Léopards, Congo)
Kabelo Mahlasela (Bloemfontein Celtic), Leonardo Castro (Mamelodi Sundowns), Siphelele Ntshangase (Baroka FC)
Thomas Chideu (Ajax Cape Town), Danny Venter (Free State Stars), Sandile Zuke (Chippa United) MAMELODI
Jeremy Brockie (SuperSport United), Aubrey Ngoma (Cape Town City), Siyabonga Zulu (Platinum Stars), Gastón Sirino (Bolívar, Bolivia)
Thato Thlone (Bidvest Wits), William Twala (Kaizer Chiefs, loan), Ziyaad Eksteen (Free agent)
Diamond Thopola (Chippa United), Phetso Maphanga (Chippa United), Augustine Mulenga (Zanaco FC, Zambia), Xolani Mlambo (Bidvest Wits FC)
Wangu Gome (Civics FC Windhoek, Namibia), Letsie Koapeng (Cape Town City), Gerald Phiri Junior (Bidvest Wits), Zama Rambuwane (SuperSport United, loan), Manti Mekoa (Richards Bay), Ayanda Gcaba (Orlando Pirates, loan), Riyaad Norodien (Orlando Pirates, loan), Nyiko Tshabangu (Free agent), Mduduzi Nyanda (Free agent), Keorapetse Molete (Free agent)
Mondli Miya (Real Kings), Dominic Chungwa (CAPS United, Zimbabwe), Muhammad Sulumba (Big Bullets, Malawi), Sibusiso Sikhosana (Witbank Spurs)
Jamie Webber (Stellenbosch FC), Evans Rusike (Maritzburg United), Mogakolodi Ngele (Mamelodi Sundowns, loan), Luke Le Roux (Stellenbosch FC, loan return), Dylan Stoffels (Free agent)