Hamiltonian systems