Conventional imaging algorithms assume single scattering and therefore cannot image multiply scattered waves correctly. The multiply scattered events in the data are imaged at incorrect locations resulting in spurious subsurface structures and erroneous interpretation. This drawback of current migration/imaging algorithms is especially problematic for regions where illumination is poor (e.g., subsalt), in which the spurious events can mask true structure. Here we discuss an imaging technique that not only images primaries but also internal multiples accurately. Using only surface-reflection data and direct-arrivals, we generate the up- and down-going wavefields at every image point in the subsurface. An imaging condition is applied to these up- and down-going wavefields directly to generate the image. Because the above algorithm is based on inverse-scattering theory, the reconstructed wavefields are accurate and contain multiply scattered energy in addition to the primary event. As corroborated by our synthetic examples, imaging of these multiply scattered energy helps eliminate spurious reflectors in the image. Other advantages of this imaging algorithm over existing imaging algorithms include more accurate amplitudes, target-oriented imaging, and a highly parallelizable algorithm.