Puzzle of the week #148

Level: 
3-Bishop
Chess Diagram: 

[Event "Puzzle #148"][Date "2011.01.22"][Result "0-1"][SetUp "1"][FEN "1qB1r1k1/5pp1/1Bb4p/2P4n/1P6/P4n2/1N3QPP/2R2N1K b - - 0 1"]

The more we practice combinations, the better we get at it. Remember, combinations do not happen out of the blue; a combination becomes available when the position is ready for it. This is the reason why we always have to analyse any position we have in front of us; this way we can understand if it is the right time for a combination or not. It is the right time for a combination in this position. Your tasks:
a) Analyse the position and explain why is this the right time for a combination
b) Black to move and win. Find the winning combination

Total available points for this puzzle is 20. The answers will be published next week together with puzzle #149.

Puzzle #147 solution:
Based on Oll - Orest, 1985, Facebook chess puzzle. I have received quite a few answers and this is a very good sign. It was not easy to choose the best one, but in the end have chosen James. Here it is:

[Event "Puzzle #147"][Date "2011.01.15"][Result "1-0"][SetUp "1"][FEN "4rk2/1p6/p1qr1bQ1/8/P7/1P5R/2P3PP/5R1K w - - 0 1"]1.Rh7 Qd7 (1...Rd7 2.Rxf6+ Qxf6 3.Qxf6+ Kg8 (3...Rf7 4.Qxf7#) 4.Rh8#) (1...Re7 2.Rh8#) 2.Rxd7 Rxd7 3.Qxf6+ Kg8 4.Qg6+ Rg7 5.Qxe8+ {White wins}

Thank you James! Very well done.

Correct solutions:
Frank, Ziyao, James, Alex - 10 points
Philip - 9 points
Harmony - 8 points
Jeffrey, Danny, Leo - 6 points
Leroy - 5 points
Kevin - 1 point

Standings:
Ziyao - 27 points
Frank - 23 points
Harmony - 21 points
James - 20 points
Alex, Jeffrey, Danny - 19 points
Leo - 16 points
Danny, Karl - 13 points
Kevin - 11 point
Leroy - 10 points
Philip - 9 points

Comment: 

The final result counts