Controlling Chaos in Hamiltonian Systems