Output regulation in nonlinear systems