All-rounders are arguably the most precious commodity in all of cricket. Most people that start playing cricket, start off by doing both batting and bowling and then settle on whichever job they're better at and focus on it.
But only a few can truly master both arts and excel at both in international cricket. Shakib Al Hasan falls under that rare breed for Bangladesh. But beyond the numbers and the stats, his impact on the national team should also be counted as that puts him in the highest echelon among all-rounders.
Before Shakib, Bangladesh were perennial minnows and major underdogs in cricket, but with his entry and ascendence, he has helped Bangladesh beat all comers.
Now that is not to say that Bangladesh have become a top side in all three formats but the vision, hunger and mindset that he has for the team has helped it reach peaks never seen before.
So that begs the question, where does the man from Magura rank among the greatest all-rounders?
Among current all-rounders
In cricket currently, there are players such as West Indies captain Jason Holder and England vice-captain Ben Stokes, who are some of the best.
Another player that should also get a mention is the Afghanistan all-rounder Mohammad Nabi, who is ranked number one in ODI and T20I cricket.
Shakib averages 39.40 and 37.86 in Tests and ODIs respectively with the bat and with the ball, he averages 31.12 in Tests and 30.21 in ODIs.
In comparison, Jason Holder has an average of 32.49 and 24.94 in Tests and ODIs respectively with the bat, and with the ball, he averages 25.54 in Tests and 36.83 in ODIs.
It is evident that Shakib is a better batsman than Holder in both formats and a better bowler in ODIs but Holder is the superior bowler in Tests, and at the moment, is the number one-ranked Test all-rounder.
Ben Stokes averages 36.68 in Tests and 40.63 in ODIs with the bat and with the ball, he averages 31.97 and 41.71 in Tests and ODIs respectively.
Numbers aside, Stokes has played some awe-inspiring knocks for England with the bat in recent times and has been the man to make the difference when the team is under pressure.
His ODI batting numbers suggest he is a better batsman than Shakib but Shakib has the edge in bowling in both formats.
The team has to often rely on Shakib to do the full quota of overs and to bat for long periods of time but with Stokes, he comes in as more of an impact player, so Shakib just edges him out as the better all-rounder at the moment.
Mohammad Nabi is a player who has a similar role to Shakib for his team and averages 27.82 in ODIs with the bat and 32.54 with the ball, numbers which are not as impressive as Shakib's.
As he has only played three Tests it is better to take a look at Nabi's T20I exploits and compare them with Shakib's.
Nabi averages 22.08 with the bat and 27.11 with the ball whereas Shakib averages a higher 23.74 with the bat and a more impressive 20.58 with the ball in T20Is so it's clear who's the better player here.
Among all-time greats
The names Jacques Kallis, Sir Garry Sobers and Imran Khan are mentioned when greatest all-rounders come into play, so let's see how Shakib fares against them.
Kallis averaged 55.37 in Tests and 44.36 in ODIs with the bat and with the ball he averaged 32.65 and 31.79.
The massive number of runs and the length of Kallis' career gives him a big upper hand with the bat but Shakib is just ahead of the South African great with the ball.
But numbers aside, Kallis helped South Africa win their first-ever and only ICC accolade in senior men's cricket - the ICC Champions Trophy (back then called the Coca Cola Cup) in 1998.
Kallis was immensely important and influential in the Proteas set up and was the batting mainstay for the team for almost two decades.
Sobers only played one ODI but in Tests, he averaged a whopping 57.78 with the bat and an impressive 34.03 with the ball.
Much like Kallis, Sobers is a supreme batsman and has better numbers than Shakib but Shakib edges him out in the bowling department.
Many consider Sobers to be the greatest all-rounder of all time simply because he was the first true all-rounder the game had ever seen.
If not for him, the others, including Shakib would possibly never have happened and that level of influence on the game is unparalleled.
Now let's come to Imran Khan who had an average of 37.69 and 33.41 with the bat in Tests and ODIs respectively and with the ball, he averaged 22.81 in Tests and 26.61 in ODIs.
Imran most certainly had the better numbers in bowling, compared to Shakib but Shakib comes out as the better batsman in both formats.
Imran Khan was an exceptional leader for Pakistan and was one of the main reasons why they won the World Cup in 1992.
Imran was also one of the first exponents of the reverse swing and used it to immense effect during his bowling.
Given the impact that Kallis, Sobers and Imran had on their respective teams and on cricket it's hard to place Shakib above any of these three greats yet.
Then there are all-rounders like Ian Botham, Richard Hadlee and Kapil Dev who deserve a mention for their exploits and accolades but their stats are less impressive than Shakib's.
Shakib's numbers are impressive and the 33-year-old still has years of cricket left in the tank and more accolades to win.
From the stats, it's easy to say he's the best all-rounder in the game currently, the greatest cricketer Bangladesh has ever produced.
While it would be incorrect to say he's the greatest all-rounder of all time, his numbers suggest that he's right up there with the greats.
If we were to rank, it would be Kallis, Sobers, Imran and then Shakib as far as greatest all-rounders go, but by the time he calls it a day if he can win a World Cup for Bangladesh, he could very easily be up even higher.