  We present a general mechanism to establish the existence of diffusing orbits
in a large class of nearly integrable Hamiltonian systems. Our approach relies
on successive applications of the `outer dynamics' along homoclinic orbits to a
normally hyperbolic invariant manifold. The information on the outer dynamics
is encoded by a geometrically defined map, referred to as the `scattering map'.
  We find pseudo-orbits of the scattering map that keep advancing in some
privileged direction. Then we use the recurrence property of the `inner
dynamics', restricted to the normally hyperbolic invariant manifold, to return
to those pseudo-orbits. Finally, we apply topological methods to show the
existence of true orbits that follow the successive applications of the two
dynamics.
  This method differs, in several crucial aspects, from earlier works. Unlike
the well known `two-dynamics' approach, the method we present relies on the
outer dynamics alone. There are virtually no assumptions on the inner dynamics,
as its invariant objects (e.g., primary and secondary tori, lower dimensional
hyperbolic tori and their stable/unstable manifolds, Aubry-Mather sets) are not
used at all.
  The method applies to unperturbed Hamiltonians of arbitrary degrees of
freedom that are not necessarily convex. In addition, this mechanism is easy to
verify (analytically or numerically) in concrete examples, as well as to
establish diffusion in generic systems.
  We include several applications, such as bridging large gaps in a priori
unstable models in any dimension, and establishing diffusion in cases when the
inner dynamics is a non-twist map.
