Bangladesh spinners took control of the second Test against West Indies after Mahmudullah Riyad struck a career best 136 to guide the hosts to 508 in the first innings in Dhaka on Saturday.
Mehidy Hasan and Shakib Al Hasan shared five wickets between them as West Indies were reduced to 75-5 at stumps on the the second day, trailing the hosts by 433 runs in the first innings.
All five West Indies batsmen were clean bowled - only the third time in cricket history and the first time by spinners as Mehidy finished with 3-36 and Shakib claimed 2-15.
Shakib struck in the very first over when he flummoxed West Indies captain Kraigg Brathwaite with an inward delivery and Kieran Powell (4), Sunil Ambris (7), Roston Chase (0) and Shai Hope (10) followed him in quick succession.
Shimron Hetmyer (32 not out) and Shane Dowrich (17 not out) set about recovering the innings and survived the day. Hetmyer was given out off rookie spinner Nayeem Hasan on 10, but the decision was overturned by television replay.
The West Indies innings was in complete contrast to that of Bangladesh, which saw Shakib (80), Shadman Islam (76) and Liton Das (54) making useful contribution along with Mahmudullah.
Resuming on 259-5, Bangladesh's innings revolved around Mahmudullah, who faced 242 balls and struck 10 fours in his third Test century.
Mahmudullah helped Bangladesh build on their overnight score, putting on 111 runs with Shakib Al Hasan for the sixth wicket, 92 runs with Liton Das for the seventh wicket, and 56 runs with Taijul Islam (36) for the ninth wicket.
Shakib, who resumed on 55 overnight, added 25 to his overnight score before he gave a catch to Hope at gully off Kemar Roach.
Mahmudullah and Liton maintained the pressure, helping the home side add 128 runs in 25 overs of the morning session.
Liton, who was making a comeback to the side after being dropped in the first Test, hit Chase for six and a four in one over to bring a quickfire 50 off as many balls.
The Cricket Pod:
Liton, who struck eight fours and a six in his fourth Test half century, fell after the lunch break when he attempted a reverse sweep off Brathwaite and missed the line to get bowled.
Jomel Warrican dismissed the next batsman Mehidy Hasan, but Taijul and Mahmudullah frustrated West Indies to take their score close to the 500-run mark.
Mahmudullah faced 29 balls in the nervous nineties before he cut Chase for four to bring up his hundred.
Warrican bowled Mahmudullah to wrap-up the Bangladesh innings and finish with 2-91, while Roach, Devendra Bishoo and Brathwaite also claimed two wickets each.
Bangladesh are leading the two-Test series 1-0 thanks to their 64-run win in the first Test in Chittagong.