The nonlinear Schroedinger equation: Soliton dynamics