Heavy short-covering ahead of the July derivatives expiry tomorrow coupled with good earnings numbers from Bharti Airtel and ONGC fueled todays upmove.After opening with a positive gap of 40 points at 10,415, the Sensex slipped in red for brief while wherein it touched a low of 10,363. Buying resumed soonafter and the index rallied to higher levels as the day progessed.The Sensex touched a high of 10,649 - up 286 points from the day's low. The index finally settled with a gain of 202 points at 10,617. Thus, the index has gained 5.3% (531 points) in the last three trading days.