When throwing hooks and uppercuts, use the return as a strike in the opposite direction instead of pulling the hand away after the strike is complete. For example, after throwing a hook to the head, return with a backfist (or elbow) to the other side of the target and follow up with a strike off of the other hand in the same direction. Or after an uppercut, bring the arm back down sharply to strike with the elbow or a backfist.
Done in succession, this creates a very rapid flurry of powerful strikes that can be overwhelming. With some practice on the heavy bag you can start to link each coupled set with a series off of the other hand. Change angles and target zones as you do this, working gradually up to faster speeds. Think about your overall movement as working around a ball in front of your torso, as opposed to simply moving the hips back and forth on a horizontal (transverse) plane.
A few examples of this can be seen on the clip below at :50